3

我在后面的代码中创建了一个按钮,但是我如何编写他们的点击事件?是鼠标按下吗?像这样 ?基本上我想检测按钮是否被按下然后我用一些文本填充一个文本框。

Button btn1 = new Button();
btn1.Content = qhm.Option1;
sp1.Children.Add(btn1);

if (btn1.MouseDown = true)
{
   tbox.Text = qhm.Option1;
}
4

6 回答 6

7

像那样:

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

您现在可以访问局部变量。

于 2013-07-11T06:19:33.637 回答
1
..
btn1.Click += btn1_Click;

private void btn1_Click(object sender, RoutedEventArgs e)
{
    ...
}
于 2013-07-11T06:19:21.360 回答
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;
        }
于 2013-07-11T06:19:48.737 回答
1

为点击事件注册一个处理程序:

btn1.Clicked += myHandler_Click;
private void myHandler_Click(object sender, RoutedEventArgs e)
{
  // your code
}
于 2013-07-11T06:19:50.313 回答
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");
}
于 2013-07-11T06:22:12.130 回答
0

您正在寻找的东西,可以通过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 事件中。

我希望这有帮助!

快乐编码

于 2013-07-11T07:14:35.343 回答