我在后面的代码中创建了一个按钮,但是我如何编写他们的click事件?它是MouseDown吗?像这样 ?基本上我想检测按钮是否被按下然后我用一些文本填充文本框。
Button btn1 = new Button();
btn1.Content = qhm.Option1;
sp1.Children.Add(btn1);
if (btn1.MouseDown = true)
{
tbox.Text = qhm.Option1;
}
答案 0 :(得分:5)
就像那样:
Button btn1 = new Button();
btn1.Content = qhm.Option1;
btn1.Click += btn_Click;
sp1.Children.Add(btn1);
//separate method
private void btn_Click(object sender, RoutedEventArgs e)
{
tbox.Text = qhm.Option1;
}
使用lambda:
btn1.Click += (source, e) =>
{
tbox.Text = qhm.Option1;
};
您现在可以访问本地变量。
答案 1 :(得分:1)
..
btn1.Click += btn1_Click;
private void btn1_Click(object sender, RoutedEventArgs e)
{
...
}
答案 2 :(得分:1)
您可以添加如下点击事件:
Button btn1 = new Button();
btn1.Content = qhm.Option1;
sp1.Children.Add(btn1);
btn1.Click += btn1_Click;
您可以编辑事件方法,在文本框中添加一些文字。
void btn1_Click(object sender, System.Windows.RoutedEventArgs e)
{
tbox.Text = qhm.Option1;
}
答案 3 :(得分:1)
注册click事件的处理程序:
btn1.Clicked += myHandler_Click;
private void myHandler_Click(object sender, RoutedEventArgs e)
{
// your code
}
答案 4 :(得分:1)
您想订阅点击事件:
Button btn1 = new Button();
btn1.Content = "content";
btn1.Click+=btn1_Click;
sp1.Children.Add(btn1);
private void btn1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("You clicked it");
}
答案 5 :(得分:0)
您正在寻找的内容,只有事件才能实现,请在MSDN中找到有关事件的解释以及如何使用。
在C#中有几种GUI控件,如Button Control,它有许多事件,例如:click,mouseover,mousedown,doubleclick等。在MSDN帮助中,您可以找到支持的事件列表每一项控制,以及属性和方法。
所以在你的情况下,你可能会想要一些东西,
private void Form1_Load(object sender, EventArgs e)
{
Button button2 = new Button();
//Load button in container
//Loading events for control
button2.Click += new EventHandler(button2_Click);
}
private void button2_Click(object sender, EventArgs e)
{
//Do Something
}
所以基本上 button2.Click + = new EventHandler(button2_Click); ,你正在添加指向button2_click的EventHandler到新创建的按钮的Click事件。
我希望这有帮助!
快乐编码