创建按钮单击事件c#

Fro*_*dle 6 c# click

我用了一个按钮

Button buttonOk = new Button();
Run Code Online (Sandbox Code Playgroud)

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

Bob*_*orn 11

    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();
    }
Run Code Online (Sandbox Code Playgroud)


NDJ*_*NDJ 5

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

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

  this.Controls.Add(button);

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

但是最好多了解一些按钮,事件等。

如果您使用Visual Studio UI创建按钮,然后在设计模式下双击该按钮,则将创建您的事件并为您进行挂接。然后,您可以转到设计器代码(默认名称为Form1.Designer.cs),在该代码中可以找到事件:

 this.button1.Click += new System.EventHandler(this.button1_Click);
Run Code Online (Sandbox Code Playgroud)

您还将看到该按钮的很多其他信息设置,例如位置等。这将帮助您以所需的方式创建一个按钮,并有助于您更好地理解创建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;
Run Code Online (Sandbox Code Playgroud)

至于关闭窗体,就像放置Close()一样容易;在事件处理程序中:

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