我正在制作一个 winform 项目,用户将在其中输入要出售的物品。当用户进入销售界面时,会根据用户提供的数据生成一些按钮。我需要捕捉每个按钮的点击事件。
举个例子:在数据表中:
- 可口可乐 2.00$
- 百事可乐 2.50 美元
- 减肥百事可乐 3.00$
- 百事可乐最高 1.50 美元
用户将填写商品和价格,因此没有要显示的精确商品数量。
在表单中,如果用户按两次可口可乐按钮和一次百事可乐,我需要列出它们并告诉总数。
由于您的按钮数量不确定,因此我将使用像 user2353972 示例所示的通用事件处理程序。然后,您可以通过将 sender 对象转换为 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;
}
}
只需新建按钮,并将单击事件绑定到您的方法。喜欢:</p>
Button b=new Button();
b.Click+=new EventHandler(b_Click);
我同意马克霍尔的观点;这就是要走的路。我建议只是小的语法改进:使用
switch ((sender As Button).Text)
来简化代码。问候, AB