为了账号安全,请及时绑定邮箱和手机立即绑定

关于 .net c# winform 的问题,是之前我们做的一个小程序测试,很基础的问题,但我目前搞不清楚:

关于 .net c# winform 的问题,是之前我们做的一个小程序测试,很基础的问题,但我目前搞不清楚:

森林海 2018-12-07 00:50:40
winform有个主窗口,点击上面一个按钮弹出一个副窗口,通过点击副窗口上的一个按钮 来改变主窗口的背景颜色,代码如下: 主窗口: namespace WindowsFormsCouleur { public partial class Form1 : Form { public Form1() { InitializeComponent(); }  ... //主窗口上有个按钮,下面是点击弹出副窗口 private void boutonRadioToolStripMenuItem_Click(object sender, EventArgs e) { Bouton_radio a1 = new Bouton_radio(this); a1.ShowDialog(); }     以上是主窗口,点击按钮,创建一个新的副窗口类,名为:Bouton_radio ,下面是副窗口代码: namespace WindowsFormsCouleur{ public partial class Bouton_radio : Form { Form1 fenetre1; public Bouton_radio(Form1 fenetre) { InitializeComponent(); fenetre1 = fenetre; } private void radioButton1_CheckedChanged(object sender, EventArgs e) { fenetre1.BackColor = Color.Red; }   ... 就是上面这些代码(主要是主窗口的this,还有副窗口的代码是问题所在,是我不懂的地方) 请教各位大虾,为什么可以通过这个程序控制主窗口的背景颜色,那个this是什么作用?我知道this定义,但不知道这儿的用法;还有副窗口的fenetre1和 fenetre什么关系,怎么做到副窗口控制主窗口的颜色的,这里面的逻辑关系式什么?讲解越详细越好,谢谢各位先,这个问题困扰我好久了
查看完整描述

5 回答

?
杨魅力

TA贡献1811条经验 获得超5个赞

变量作用域, 你要先了解这个概念,才会明白这样赋值的意义
查看完整回答
反对 回复 2018-12-09
?
holdtom

TA贡献1805条经验 获得超10个赞

简单来讲吧。你在子窗体定义了一个临时父窗体的对象。get{} set{} 子窗体构造函数中设置传递参数与父窗体对象做绑定操作 并设置它的背景色。
查看完整回答
反对 回复 2018-12-09
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

1先修改Program.cs文件中的代码。 2在Form1类中加入ChangeColor()函数能改颜色。 3然后Program.Form1Instance.ChangeColor();就能改颜色了。
查看完整回答
反对 回复 2018-12-09
  • 5 回答
  • 0 关注
  • 426 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信