这个问题已经在这里有一个答案:
- 事件添加到控件动态添加 2个回答
我已经用一个按钮
Button buttonOk = new Button();
与其他代码一起,我怎么能检测如果创建的按钮被点击? 并使其如果点击表格将关闭?
这个问题已经在这里有一个答案:
我已经用一个按钮
Button buttonOk = new Button();
与其他代码一起,我怎么能检测如果创建的按钮被点击? 并使其如果点击表格将关闭?
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的用户界面来创建一个按钮,然后双击在设计模式的按钮,这将创建活动,并把它挂你。 那么你可以去到设计代码(默认会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;
至于封闭的形式,它是把容易关闭(); 事件处理函数中:
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
这里创建按钮单击方法:
void buttonOk_Click(object sender, EventArgs e)
{
MessageBox.Show("clicked");
this.Close(); //all your choice to close it or remove this line
}