c# 点击form1的button1弹出form2

刚刚5100 2019-04-30 10:09:43
c# 点击form1的button1弹出form2,然后关闭form2的时候,改变form1的button1的名字为button_done
...全文
920 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
OrdinaryCoder 2019-04-30
  • 打赏
  • 举报
回复
用事件来做这个事,下面是代码

public delegate void ChangeNmaeEventHandel();
public partial class Form2 : Form
{
public ChangeNmaeEventHandel ChangeNmaeEvent =null;
public Form2()
{
InitializeComponent();
}


private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
if (ChangeNmaeEvent != null)
{
ChangeNmaeEvent();
}
}

}


public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ChangeNmaeEvent += ChangeName;
form.Show();
}

private void ChangeName()
{
this.button1.Text = "button_done";

}
}
刚刚5100 2019-04-30
  • 打赏
  • 举报
回复
引用 4 楼 exception92 的回复:
在form2中声明关闭事件委托A,在关闭事件中触发。 在form1中打开form2的时候为委托A指定回调函数,在函数中更改button1的名字即可。


可否贴段代码 刚入门还不是很懂
大鱼> 2019-04-30
  • 打赏
  • 举报
回复
引用 3 楼 刚刚5100 的回复:
需要在form2的closing事件中,不是在button的click事件里写
明显的采用委托去处理,了解一下委托的用法
exception92 2019-04-30
  • 打赏
  • 举报
回复
在form2中声明关闭事件委托A,在关闭事件中触发。 在form1中打开form2的时候为委托A指定回调函数,在函数中更改button1的名字即可。
刚刚5100 2019-04-30
  • 打赏
  • 举报
回复
需要在form2的closing事件中,不是在button的click事件里写
OrdinaryCoder 2019-04-30
  • 打赏
  • 举报
回复

private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ShowDialog();
this.button1.Text = "button_done";
}

在Button的click事件里添加
stherix 2019-04-30
  • 打赏
  • 举报
回复
如果模态弹出form2,那么非常简单 在button1事件里写 new Form2().ShowDialog(); (sender as Button).Text="button_done";//改变显示文字, 名字一般是不改的

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧