C#winform清除鼠标事件arg

时间:2016-05-07 20:40:31

标签: c# winforms mouseevent

//即使是2个文本框也可以创建1个鼠标吗?

假设我有2个文本框,(TxtBox1,TxtBox2)

我想要的是1清除功能,它只清除被点击的文本按钮,而不需要为每个按钮创建2个清除功能:TxtBox1.Clear(); TxtBox1.Clear();

以下是我认为C#支持的另一种解释:

    private void Clear(object sender, MouseEventArgs e)
    {
        this.Clear();
              }

1 个答案:

答案 0 :(得分:1)

sender是点击的UI元素,因此以下内容应该有效:

private void TextBoxOnClick(object sender, MouseEventArgs e)
{
    var theTextBox = sender as TextBox;
    if (theTextBox != null)
    {
        theTextBox.Text = string.Empty;
    }
}

as并检查null只是防御性编程。如果您确定只会从TextBox中调用它,那么您可以直接进行转换。

然后你需要将它添加到每个文本框的click事件处理程序中:

TxtBox1.OnClick += TextBoxOnClick;
TxtBox2.OnClick += TextBoxOnClick;

等。对于你的所有文本框。