如何在从类创建按钮时检查单击方法

本文关键字:检查 单击 方法 按钮 创建 | 更新日期: 2023-09-27 18:08:46

我正在使用Tabcontrol,我为所有新的tab页创建了一个类。例如,当我打开一个新的标签页时,类创建控件并放置它们。

bttn1 = new Button();
bttn1.Name = "button1";
bttn1.Text = "Start";
bttn1.Location = new Point(3, 405);
bttn1.Size = new Size(75, 23);
tp.Controls.Add(bttn1);

我的问题是如何检查这个按钮是否被点击了?

我的另一个问题是相同的定时器滴答事件

如何在从类创建按钮时检查单击方法

您可以轻松地从代码中附加到按钮的Click事件:

bttn1.Click += new EventHandler(butt1_Click);

这里是处理程序:

void button1_Click(object sender, EventArgs e)
{
    // ...
}

Visual Studio将在您输入Click +=时帮助您。输入+=后,按两次Tab键获得处理程序。


我希望您已经为此创建了UserControl,或者已经子类化了TabPage类来创建您的控件。您应该通过您创建的一些新事件从这个新创建的类中公开按钮的Click事件:

public class MyTabPage : TabPage
{
    private Button bttn1;
    public event EventHandler Button1Clicked;
    public MyTabPage()
    {
        bttn1 = new Button();
        bttn1.Name = "button1";
        bttn1.Text = "Start";
        bttn1.Location = new Point(3, 405);
        bttn1.Size = new Size(75, 23);
        bttn1.Click += bttn1_Click;
        this.Controls.Add(bttn1);
    }
    void bttn1_Click(object sender, EventArgs e)
    {
        OnButton1Clicked();
    }
    protected virtual void OnButton1Clicked()
    {
        var h = Button1Clicked;
        if (h != null)
            h(this, EventArgs.Empty);
    }
}

现在,当您创建MyTabPage的实例时,您可以将处理程序附加到Button1Clicked事件:

MyTabPage page = new MyTabPage();
page.Button1Clicked += page_Button1Clicked;
tabControl.TabPages.Add(page);
...
void page_Button1Clicked(object sender, EventArgs e)
{
}