关于使用C#WInform编程时两个窗口互操作的方法

今天在做一个小软件的时候,遇到了一个问题,

from1功能:打开语言修改页面
from2功能:设置所选语言,同时更改from1中的语言

本来想着两个FROM能否通过文件在多线程情况下来检测设置内容的变化,但是长时间暂用线程会导致CPU利用率底下,而且通过文件、管道、SOCKET等方式在操作系统中,算是进程通信的概念,而在这里,同一个进程内没有必要使用这种方式来进行通信。

解决方法:

from2 新增构造函数,利用函数重载,设置一个参数为From类型的变量,同时在from2的类中设置一个私有变量接收FROM1打开FROM2时传递的this参数
from1传递本身给FROM2
由于from1本身有很多label,我们通过设计器把label的属性改为public
from2通过构造函数获取了from1后, 直接修改设计器label的值。
label检测label_change_text事件直接修改from1中的数据。

from2重要代码
	private Form1 mainForm = null;
        public langset(Form callingForm)
        {
            mainForm = callingForm as Form1; 
            InitializeComponent();
        }

//修改代码:
//this.mainForm.textBox1.Text = "666";
from1重要代码
			Form lang_set_from = new langset(this);
            lang_set_from.Show();
	
			//事件处理
			private string change_flag;
			private void textBox1_TextChanged(object sender, EventArgs e)
        {
			//........................
        }
设计器修改
			public  System.Windows.Forms.TextBox textBox1;
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值