如何获取发件人的按钮名称。 [英] how to get button name with sender.

查看:102
本文介绍了如何获取发件人的按钮名称。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好朋友

抱歉我的英语不好。

这是我的问题:

i有一个表格。我动态创建5个按钮表格。(在flowLayoutPanel1中)

i想要当我点击每个按钮时它的文字或名字出现在label1上。

i想通过发送者按钮来做。

这是我的代码:(它不起作用)

hello friends
sorry for my poor English.
this is my question :
i have a form .i create dynamically 5 buttons into the form.(in the flowLayoutPanel1)
i want when i click every button it''s text or name be appeared on a label1.
i want to do by sender button.
this is my code: (it do not work)

public void addbutton_dynam_Click(object sender, EventArgs e)
{
    counter += 1;
    Button btnAdd = new Button();
    this.Text = counter.ToString();
    btnAdd.Name = "click";
    btnAdd.BackColor = Color.Gray;
    btnAdd.Text = "Add";
    btnAdd.Location = new System.Drawing.Point(20, 20);

    flowLayoutPanel1.Controls.Add(btnAdd);

}



代码用于点击...


code is for when i click ...

public void click(object sender)
{
    Button btn = (Button)sender;
    this.label1.Text = (btn.Name + " pressed");

}



请帮助。


pls help.

推荐答案

您需要添加一个点击按钮的事件处理程序 - 或者不调用事件处理程序方法。

You need to add a click event handler to the button - or the event handler method is not called.
    Button btnAdd = new Button();
    this.Text = counter.ToString();
    btnAdd.Name = "click";
    btnAdd.Click += new EventHandler(btnAdd_Click);
    btnAdd.BackColor = Color.Gray;
    btnAdd.Text = "Add";
    btnAdd.Location = new System.Drawing.Point(20, 20);

    flowLayoutPanel1.Controls.Add(btnAdd);
    }

void btnAdd_Click(object sender, EventArgs e)
    {
    Button btn = (Button)sender;
    if (btn != null)
        {
        label1.Text = (btn.Name + " pressed");
        }
    }

请注意在处理程序中检查 null - 值得一直添加这个。您可以使用相同的方法与各种控件,并检查停止它抛出空引用异常。

Note the check for null in the handler - it''s worth always adding this. You can use the same method with a variety of controls and checking stops it throwing a null reference exception.


这篇关于如何获取发件人的按钮名称。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆