创建按钮单击事件c#

时间:2013-03-10 15:12:25

标签: c# click

我使用

制作了一个按钮
Button buttonOk = new Button();

以及其他代码,如何检测是否已单击创建的按钮? 并且如果点击该表格将关闭?

4 个答案:

答案 0 :(得分:10)

    public MainWindow()
    {
        // This button needs to exist on your form.
        myButton.Click += myButton_Click;
    }

    void myButton_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Message here");
        this.Close();
    }

答案 1 :(得分:4)

您需要一个事件处理程序,单击该按钮时将触发该事件处理程序。 这是一个快速的方法 -

  var button = new Button();
  button.Text = "my button";

  this.Controls.Add(button);

  button.Click += (sender, args) =>
                       {
                           MessageBox.Show("Some stuff");
                           Close();
                       };

但最好更多地了解按钮,事件等。

如果您使用visual studio UI创建一个按钮并在设计模式下双击该按钮,这将创建您的事件并为您提供连接。然后,您可以转到设计器代码(默认为Form1.Designer.cs),您将在其中找到该事件:

 this.button1.Click += new System.EventHandler(this.button1_Click);

您还会看到该按钮的大量其他信息设置,例如位置等 - 这将帮助您按照自己的方式创建一个,并将提高您对创建UI元素的理解。例如。我的2012年机器上有一个默认按钮:

        this.button1.Location = new System.Drawing.Point(128, 214);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(75, 23);
        this.button1.TabIndex = 1;
        this.button1.Text = "button1";
        this.button1.UseVisualStyleBackColor = true;

至于关闭表单,就像放入Close()一样简单;在你的事件处理程序中:

private void button1_Click(object sender, EventArgs e)
    {
       MessageBox.Show("some text");
       Close();
    }

答案 2 :(得分:1)

如果您的按钮位于表单类中:

buttonOk.Click += new EventHandler(your_click_method);

(可能不完全是EventHandler

并在您的点击方式中:

this.Close();

如果您需要显示消息框:

MessageBox.Show("test");

答案 3 :(得分:0)

创建Button并将其添加到Form.Controls列表,以便在表单上显示:

Button buttonOk = new Button();
buttonOk.Location = new Point(295, 45);  //or what ever position you want it to give
buttonOk.Text = "OK"; //or what ever you want to write over it
buttonOk.Click += new EventHandler(buttonOk_Click);
this.Controls.Add(buttonOk); //here you add it to the Form's Controls list

在此处创建按钮点击方法:

void buttonOk_Click(object sender, EventArgs e)
        {
            MessageBox.Show("clicked");
            this.Close(); //all your choice to close it or remove this line
        }