C#中子窗体怎么调用父窗体的控件
发布网友
发布时间:2022-05-24 07:29
我来回答
共1个回答
热心网友
时间:2023-10-08 20:02
第一我的建议是:不使用子窗体、父窗体,这个机制事实上不好用,无论是从比例控制还是对象之间相互关系都做的比较差劲,简单举例,镶嵌在窗体上的进度条要使用异步,两个对象之间就抓瞎了,我的建议是直接用自定义控件做子窗体,把子窗体做成控件,让panel去Add他,切换就直接控制他的visible属性,sizeChange事件控制他的尺寸比例。
为什么我们不直接加在窗体呢?因为窗体每次Load要重绘背景为按钮表面颜色,把子窗体加入panel他会闪烁的。
第二,你的主窗体要实现这样的功能就要使用remoting机制,用子窗体去启动主窗体的线程,用线程来控制他的控件。
.NET在winform方面我认为的几个败笔:
双缓冲只缓冲窗体根本对控件没作用
重绘窗体时要先把窗体填充为按钮颜色
半透明属性不灵活,透明只针对父级,不好叠放
自作聪明的数据库控件,灵活性极差
窗体之间大量使用静态变量传递参数,影响效率
报表做的很差劲
C#中子窗体如何调用父窗体控件?
/// 父窗体,你需要添加一个button(并关联button1_Click)和一个textbox /// using System;using System.Windows.Forms;namespace Demo { public partial class ParentForm : Form { ChildForm childForm;public ParentForm(){ InitializeComponent();} private void button1_Click(object sender, EventA...
c# winform 子窗体更新父窗体,调用父窗体的函数
可以在父窗口打开子窗口的时候把自己传过去 比如父窗体是form1,子窗体form2 子窗体中 From faFrom;public Form2(From f){ faForm = f;InitializeComponent();} 父窗体 private void button1_Click(object sender, EventArgs e){ Form2 f = new Form2();f.getForm(this);f.show();} 之后就...
c# 子窗口控制父窗体的方法。和使用父窗口的控件,
_hand = hand; } private void button1_Click(object sender, EventArgs e) { _hand();//调用父窗体中的方法 } }}使用委托相对要麻烦一点,你想简单的话,也可以直接将父窗体传递到子窗体去,像这样改下就行了 Form _form = null; //将基类定义为子窗体的构造器参数 ...
C#如何利用子窗体调用父窗体的属性?
//子窗体里面写 private FrmMain f;//到时传过来的父窗口 public FrmChild(FrmMain f){ this.f = f;f.Enable = true;//这儿就可以改变了。} //单击父窗口的按钮时 FrmChild f = new FrmChild();f.Show(this);//把窗体传过去 http://zhidao.baidu.com/question/77788294.html ...
c# 子窗口改变父窗口控件属性
1、你可以在子窗体中调用的时候实例化父窗体:Form1 for1=new Form1();2、然后你让你的父窗体中的Label的Modifiers属性设置为Public,如下图中位置。此时你就可以在子窗体中调用父窗体的Label控件了。3、比如你的父窗体中的Label名字叫做Label1,你想让父窗体中Label1的Text等于子窗体的Label1的Text...
C#子窗口 调用父窗口的变量
需要将要访问的变量设置为公有的,即 public;在子窗口中 this.ParentForm.(变量名) 即可访问
c#子窗体控制父窗体的显隐
我们来实现这样一个功能:当父窗体打开一个子窗体时隐藏父窗体的Panel,而当子窗体关闭时让Panel显示。实现的主要思路是创建一个子窗体的父类并在类中声明一个委托,当父窗体调用子窗体时绑定显示Panel的方法。如下:1.新建一个项目,分别添加MainForm、BaseChildForm两个窗体,其中MainForm的IsMdiContainer...
C# Winform主窗体和子窗体之间如何相互操作对方的控件
这样在子窗体中调用父窗体,可以直接用“this.pParentWin”就可以了 不过以上所作的,只是让你能够访问当前主窗体对象,那么如何操作控件,很多人直接修改控件的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:public...
c#如何在子窗口调用父窗口的dataGridView控件
在父窗体中暴露一个属性给外面调用,或者在子窗体中定义事件
C#中父子窗口关系
那肯定是用父窗体调用子窗体啦 父子窗体应用的是mdi 首先需要设置父窗体属性IsMdiContainer 接下来就是把父窗体传到子窗体内 具体做法:在子窗体中定义一个public 父窗体类型的 myfather 在父窗体中调用子窗体时,把父窗体传给myfather 这样就行了 ...