这是简短的示例代码:
private void txtbox1_DoubleClick(object sender, EventArgs e)
{
button1_Click(object sender, EventArgs e); //can I call button1 event handler?
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(txtbox1.Text);
}
我想知道以上述方式编码是否可以?
最佳答案
您可以这样做 - 尽管您提供的代码无法编译。它应该是这样的:
private void txtbox1_DoubleClick(object sender, EventArgs e)
{
button1_Click(sender, e);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(txtbox1.Text);
}
但是为了最佳实践和代码可读性,您最好这样做,尤其是当您没有使用
sender
和 e
时:private void txtbox1_DoubleClick(object sender, EventArgs e)
{
ShowMessageBox();
}
private void button1_Click(object sender, EventArgs e)
{
ShowMessageBox();
}
private void ShowMessageBox()
{
MessageBox.Show(txtbox1.Text);
}
关于c# - 在另一个事件处理程序中调用事件处理程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7186549/