我在后面的代码中创建了一个按钮,但是我如何编写他们的点击事件?是鼠标按下吗?像这样 ?基本上我想检测按钮是否被按下然后我用一些文本填充一个文本框。
Button btn1 = new Button();
btn1.Content = qhm.Option1;
sp1.Children.Add(btn1);
if (btn1.MouseDown = true)
{
tbox.Text = qhm.Option1;
}
像那样:
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;
};
您现在可以访问局部变量。
..
btn1.Click += btn1_Click;
private void btn1_Click(object sender, RoutedEventArgs e)
{
...
}
您可以像这样添加点击事件:
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;
}
为点击事件注册一个处理程序:
btn1.Clicked += myHandler_Click;
private void myHandler_Click(object sender, RoutedEventArgs e)
{
// your code
}
您要订阅点击事件:
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");
}
您正在寻找的东西,可以通过Events来实现,在 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 事件中。
我希望这有帮助!
快乐编码