C#winform清除鼠标事件参数



//是否可以为两个文本框创建一个鼠标?

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

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

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

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

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

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

as和检查null只是防御性编程。如果你确信这只会从TextBox中调用,那么你可以直接转换。

然后,您需要将其添加到每个文本框的点击事件处理程序中:

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

等等。用于所有文本框。

最新更新