单击“事件c#”

本文关键字:事件 单击 | 更新日期: 2023-09-27 18:03:16

我用

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

以及其他代码,我如何检测创建的按钮是否已被单击?并使它,如果点击窗体将关闭?

单击“事件c#”

    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();
    }

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

  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();
    }

如果按钮位于表单类中:

buttonOk.Click += new EventHandler(your_click_method);

(可能不完全是EventHandler)

和在点击方法中:

this.Close();

如果需要显示消息框:

MessageBox.Show("test");

创建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

在这里创建button click方法:

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