C# Winform 窗体传值 子窗体传值给父窗体
常用的Winform窗体传值有两种方式。
1.更改Form.designer.cs文件,将控件的设为Public,供子窗体访问。
在designer.cs文件的最后,找到你的控件声明。
private System.Windows.Forms.TextBox textBox1;
更改Private为public,保存即可。
2.利用委托进行窗体传值。
使用委托分3步:1声明委托 2实例化委托 3使用委托
父窗体:Form1
子窗体:Form2
点击Form1,弹出Form2,点击按钮返回值给Form1
首先在Form2中定义委托和事件:
//声明委托 和 事件 public delegate void TransfDelegate(String value);//定义委托 public partial class Form2 : Form { public Form2() { InitializeComponent(); } public event TransfDelegate TransfEvent; private void button1_Click(object sender, EventArgs e) { //调用事件 TransfEvent(textBox1.Text);//调用委托
this.Close(); } }
然后在Form1中进行调用:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); //注册事件 frm.TransfEvent += frm_TransfEvent;//实例化委托 frm.ShowDialog(); } //事件处理方法 void frm_TransfEvent(string value) { textBox1.Text = value; } }
标签:
Winform
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-05-26 java 多线程同步常用的3种方法