0

我正在制作一个 winform 项目,用户将在其中输入要出售的物品。当用户进入销售界面时,会根据用户提供的数据生成一些按钮。我需要捕捉每个按钮的点击事件。

举个例子:在数据表中:

  • 可口可乐 2.00$
  • 百事可乐 2.50 美元
  • 减肥百事可乐 3.00$
  • 百事可乐最高 1.50 美元

用户将填写商品和价格,因此没有要显示的精确商品数量。

在表单中,如果用户按两次可口可乐按钮和一次百事可乐,我需要列出它们并告诉总数。

4

3 回答 3

3

由于您的按钮数量不确定,因此我将使用像 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;
    }

}
于 2013-05-08T03:53:45.500 回答
3

只需新建按钮,并将单击事件绑定到您的方法。喜欢:</p>

Button b=new Button();
b.Click+=new EventHandler(b_Click);
于 2013-05-08T03:15:29.667 回答
-1

我同意马克霍尔的观点;这就是要走的路。我建议只是小的语法改进:使用

switch ((sender As Button).Text)

来简化代码。问候, AB

于 2013-05-08T04:09:23.040 回答