将一种方法转移到另一种方法
本文关键字:方法 转移 另一种 一种 | 更新日期: 2023-09-27 18:32:15
我是新来的,我有一个疑问。是否可以将一种方法转移到另一种方法?
private void button1_Click(object sender, EventArgs e)
{
}
private void c_Click(object sender, EventArgs e)
{
MessageBox.Show("Transfer OK!!!");
}
private void button2_Click(object sender, EventArgs e)
{
// c_Click ????? ------> button1_Click
}
通过单击按钮 2,通过代码包含在按钮 1 中的内容c_Click。最后,单击按钮1,我需要调出"传输确定"消息。这可能吗?
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Default Message");
c.PerformClick();
}
private void c_Click(object sender, EventArgs e)
{
MessageBox.Show("Transfer OK!!!");
}
Button.PerformClick 方法,用于在任何方法中调用按钮单击事件
我认为您可以在button2_Click中使用这样的东西:
button1.PerformClick();
or
c_Click(sender, e);
private void button1_Click(object sender, EventArgs e)
{
c_Click(sender, e);
}
老实说,我不知道我是否理解您的问题,但根据您的评论:
我不想运行"执行点击()"或类似的东西。基本上它将删除button1_Click的内容并包括C_Clickbutton1_Click内的内容。
单击按钮1,我需要调出"传输确定"消息。按钮 2 将具有将执行按钮 1 删除的代码内容,并将包括C_Click活动的内容。我想是使用"代表"或类似内容的内容。
您可能没有在 Windows 窗体意义上使用"内容"一词。我从中得到的是,当您单击按钮 2 时,您希望按钮 1 开始像c_Click按钮一样运行,对吗?
如果我弄错了,您只需删除 button1 的 EventHandler for button1_Click 并将其替换为 c_Click,如下所示:
private void button1_Click(object sender, EventArgs e)
{
}
private void c_Click(object sender, EventArgs e)
{
MessageBox.Show("Transfer OK!!!");
}
private void button2_Click(object sender, EventArgs e)
{
// c_Click ????? ------> button1_Click
button1.Click -= new EventHandler(button1_Click);
button1.Click +=new EventHandler(c_Click);
}
这样在你点击按钮2后,下次你点击按钮1时,它会做c_Click()而不是button1_Click()