[英]Programmatically added buttons click event
我正在做一個winform項目,用戶將在其中輸入要出售的物品。 當用戶進入銷售屏幕時,將從用戶提供的數據中生成一些按鈕。 我需要捕獲每個按鈕的click事件。
舉個例子:在數據表中:
用戶將填寫項目和價格,因此沒有確切的項目數顯示。
在表單中,如果用戶按兩次可口可樂按鈕和百事可樂一次,我需要列出它們並告訴總數。
只需添加按鈕,然后將click事件綁定到您的方法。 喜歡:
Button b=new Button();
b.Click+=new EventHandler(b_Click);
由於按鈕的數量不確定,因此我將使用像user2353972的示例所示的通用事件處理程序。 然后,可以通過將發送方對象投射到Button來確定單擊了哪個按鈕。 然后,您可以訪問按鈕的所有屬性,包括“ Text
和“ Tag
對象屬性,然后可以使用這些屬性來確定價格。
private void button1_Click(object sender, EventArgs e)
{
var b = (Button)sender;
switch(b.Text) //Do your
{
case "Coca Cola":
break;
case "Pepsi":
break;
case "Diet Pepsi":
break;
case "Pepsi Max":
break;
default:
break;
}
}
我同意馬克·霍爾(Mark Hall)的觀點。 那是要走的路。 我建議對語法進行一些小的改進:使用
switch ((sender As Button).Text)
簡化代碼。 問候,AB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.