作者F23ko (純潔)
看板C_Sharp
標題Re: [問題] C#如何達到按鈕四選一的方法
時間Fri Apr 16 16:11:20 2010
需要幾個觀念:
A. Random 類別,這是可以隨機產生亂數的類別。
Random A = new Random();
B. .NET Framework 方針的事件 中的sender
private void button1_Click(object
sender, EventArgs e)
{
Button A = (Button)sender; //取得被點擊的按鈕
}
至少有三種方法:
1.按鈕寫死,在初始化時,隨機決定四個按鈕的位置。
這要打開Form1.Designer.cs
這直接從 private void InitializeComponent()下去改會比較好懂
這個方法只需要觀念A,以及要會使用程式碼設定按鈕位置
this.button1.Location = new System.Drawing.Point(92, 50);
//設定按鈕1的位置到92,50
把InitializeComponent()中,設定四個按鈕位置的那一句都給刪掉
然後丟個亂數去讓他決定位置
2.按鈕不寫死,準備兩個方法,一個是猜對,另一個是猜錯
在初始化程序時,隨機把猜對的事件加入其中一個按鈕的click事件
其餘就放猜錯的事件
3.四個按鈕都用同一個事件
在點的時候,才隨機決定猜中了沒
建議用方法2,因為比較簡潔
--
寫做F23,讀做純潔。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.27.109.77
1F:推 nfs02:感謝您,我有點頭緒了!! 04/16 16:21
2F:→ nfs02:請問如果我要使用第三種做法 我該如何做 因按鈕我想要固定 04/16 16:23
3F:→ nfs02:我想把他固定在指定的位址 04/16 16:24
4F:推 nfs02:例如我上面的程式碼 我已經拉好四個按鈕 我有辦法直接讓他 04/16 16:28
5F:→ nfs02:透過亂數選擇的方法去取得正確的按鈕嗎!? 04/16 16:29
6F:→ james732:第三種方法不就是我給你的程式碼嗎...XD 04/16 16:31
7F:推 nfs02:是的 不過我看不到你的按鈕.我是直接拉出來的 這樣可以用嗎? 04/16 16:35
8F:→ james732:我的按鈕都是用程式動態產生的 拉的當然也可以 04/16 16:36
9F:→ james732:你要知道怎麼用「事件」視窗去指定按鈕的處理方法就好 04/16 16:37
10F:推 nfs02:好的 我瞭解了 謝謝你們~看來還有一段路要學 04/16 16:41
11F:→ james732:會建議學會怎麼用程式碼產生按鈕 這招很實用 04/16 16:49
12F:→ james732:當你要產生400個按鈕的時候就會拉到抽筋了....XD 04/16 16:50
13F:→ F23ko:例如踩地雷 XD 04/16 16:51
14F:→ F23ko:加入按鈕的關鍵句是這一句 04/16 16:52
15F:→ F23ko:this.Controls.Add(this.button1); 04/16 16:52
16F:→ F23ko:Button是欄位,設定完欄位後,用那一句就能把欄位加入視窗 04/16 16:54
17F:→ F23ko:改變Button的設定之後,再Add一次,視窗上就會再多一個按鈕 04/16 16:55
※ 編輯: F23ko 來自: 163.27.109.99 (04/16 20:12)