简述:最近在做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();
this.tBMath.Text = Convert.ToString();
} 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,总结

新手一枚,如有错误请指正!

C#Winform窗体利用单例子窗体传值父窗体的更多相关文章

  1. 20150812 Asp.net 父窗体获取子窗体的返回值,更新父窗体文本控件(应用)

    1. 父窗体 **************************************** using System;using System.Collections;using System.C ...

  2. 获取当前进程(程序)主窗体句柄并设置wpf的父窗体为此句柄

    有时候在c++调用wpf控件的时候,wpf控件想自己显示窗体,但需要设置owner属性.迂回解决办法是设置wpf的window窗体的父窗体为进程的句柄. 1.获取当前进程id int id = Pro ...

  3. WinForm 子窗体在父窗体范围内移动,不能出父窗体 摘自于网络

    详细解释:1, 主窗体Form1属性IsMdiContainer设为True,并添加ToolStrip控件, Toolstrip中添加一个按钮toolStripButton1.         2,添 ...

  4. C# Form窗体子窗口关闭时刷新父窗体中的datagridview

    解决该问题可以用委托,但是还有更简单方便的两种方法: 方法一:将主窗体实例保存到子窗体 show  form2的时候设置一下 owner为form1 Form2 f2 = new Form2(); / ...

  5. 关于使用struts2时子窗体页面跳转后在父窗体打开的问题以及Session过期后的页面跳转问题

    问题1:传统的系统界面,iframe了三个页面,上,左,右,用户点击注销的按钮在上面得top.jsp里面,方法:<a href="../adminAction/admin_logout ...

  6. winform继承窗体,无法修改父窗体控件问题处理笔记

    问题描述: 一个窗体集成父窗体,发现无法直接修改父窗体的控件,比如修改大小等,父窗体控件已经设置为public,如果做成一个dll被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...

  7. 【winform】userControl刷新父窗体的datagridview

    1.ContextMenuStrip 获取右键控件名称 this.contextMenuScriptScore.SourceControl.Name; //当前控件名 2.radiobutton 分组 ...

  8. C# 父窗体与子窗体之间委托

    先实例化子窗体jobForm,然后让 jobForm.TransfEvent += job_TransfEvent;显示子窗体 if (jobForm.DialogResult != DialogRe ...

  9. 父窗体的委托,子窗体注册,this.Owner是关键

    //声明委托 public delegate void RefreshParentHandler<T>(T obj); //父窗体的委托 public RefreshParentHandl ...

随机推荐

  1. The Preliminary Contest for ICPC Asia Xuzhou 2019

    A:Who is better? 题目链接:https://nanti.jisuanke.com/t/41383 题意: 类似于有N个石子,先手第一次不能拿完,每次后手只能拿 1 到 前一次拿的数量* ...

  2. Python核心技术与实战 笔记

    基础篇 Jupyter Notebook 优点 整合所有的资源 交互性编程体验 零成本重现结果 实践站点 Jupyter 官方 Google Research 提供的 Colab 环境 安装 运行 列 ...

  3. LL(1)文法的判断,递归下降分析程序

    1. 文法 G(S): (1)S -> AB (2)A ->Da | ε (3)B -> cC (4)C -> aADC | ε (5)D -> b | ε 验证文法 G ...

  4. 【杭研大咖说】温正湖:6年,从不会写SQL到数据库专家

    他是业界主流数据库技术会议的明星讲师,开源社区各种分享活动的活跃分子:他累计申请了10多个技术发明专利,已授权8个:他近一年发布60多篇高质量技术博客文章,阅读量数十万:他和团队对MyRocks的优化 ...

  5. jQuery插件 distpicker实现多次赋值

    项目里需要实现省市区联动选择功能,使用了一个jQuery插件dispicker,记录一下使用过程中遇到的问题和解决办法. 需要要实现的功能就两个:打开modal框时设置地址,点击重置按钮时重置地址 原 ...

  6. Redis入门(四)-Java操作Redis

    <Redis入门>系列文章的第四篇,这一节看一下如何用Java版本的redis客户端工具--Jedis来操作redis. Jedis封装了丰富的api来对redis的五种数据类型 stri ...

  7. SpringAOP基础

    例1.已知有这么一段代码,会打印出Hello public static void main(String[] args) { sayHello(); } public static void say ...

  8. 一起学SpringMVC之Request方式

    本文主要以一些简单的小例子,简述在SpringMVC开发过程中,经常用到的Request方面的内容,仅供学习分享使用,如有不足之处,还请指正. 概述 在客户机和服务器之间进行请求-响应时,两种最常被用 ...

  9. 利用文件保存 Map 健值信息

    Map<String,MobileCard> cards = new HashMap<String,MobileCard>(); Map<String,List<C ...

  10. 松软科技web课堂:JavaScript 布尔(逻辑)

    JavaScript 布尔(逻辑)代表两个值之一:true 或 false. 布尔值 通常,在编程中,您会需要只能有两个值之一的数据类型,比如 YES / NO ON / OFF TRUE / FAL ...