C#Winform窗体利用单例子窗体传值父窗体
简述:最近在做C#和HALCON编程,要用到单例的参数由子窗体改变父窗体的值。此例为简化版
1,点击系统设置
2,弹出子窗体,在其输入修改参数后点修改按钮
3,点击确定按钮后,关闭子窗体后,主窗体textbox值改变
4,单例程序如下:
public class Student { //创建单例类,内部静态类方法 private Student() { }//私有构造函数 class Nested { internal static readonly Student instance = new Student(); } public static Student Instance { get { return Nested.instance; } } //创建字段和其属性 private string name; public string Name { get { return name; } set { name = value; } } private int chinses; public int Chinses { get { return chinses; } set { chinses = value; } } private int math; public int Math { get { return math; } set { math = value; } } }
5,子窗体程序
public Setting() { InitializeComponent(); } Student stu= Student.Instance; //创建单例类的对 private void Setting_Load(object sender, EventArgs e) { } private void BtnChange_Click(object sender, EventArgs e) { stu.Name = this.textBoxName.Text;//把子窗体textbox显示值赋给字段的属性 stu.Chinses = Convert.ToInt32(this.textBoxChinese.Text); stu.Math = Convert.ToInt32(this.textBoxMath.Text); }
6,父窗体程序
Student stu = Student.Instance;//创建单例类 private void MainForm_Load(object sender, EventArgs e) { this.tBName.Text = "Weber";//主窗体加载显示内容 this.tBChinese.Text = Convert.ToString(89); this.tBMath.Text = Convert.ToString(90); } private void ToolStripButton1_Click(object sender, EventArgs e) { Setting mySetting = new Setting(); mySetting.ShowDialog();//子窗体弹出 this.tBName.Text = stu.Name;//字段属性的值赋给textbox值 this.tBMath.Text = Convert.ToString(stu.Math); this.tBChinese.Text = Convert.ToString(stu.Chinses); }
7,总结
新手一枚,如有错误请指正!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗