关于C#FORM窗体combobox控件刷新的问题!
我在父窗体.Designer.cs中设置了combobox为Public,子窗体中PUBLIC父窗体A=new父窗体();在子窗体的关闭button控件中添加了A.com...
我在父窗体.Designer.cs中设置了combobox为Public,
子窗体中PUBLIC 父窗体 A = new 父窗体();
在子窗体的关闭button控件中添加了
A.combobox.refresh();
可是没有刷新后来查看combobox控件没有刷新,这是为什么呢?本人新手,求大神讲解。 展开
子窗体中PUBLIC 父窗体 A = new 父窗体();
在子窗体的关闭button控件中添加了
A.combobox.refresh();
可是没有刷新后来查看combobox控件没有刷新,这是为什么呢?本人新手,求大神讲解。 展开
4个回答
展开全部
你是先有父窗体,然后父窗体产生了子窗体吧。
1. 在子窗体的窗体类中添加一个属性,为父窗体类的一个对象,如
Private 父窗体类 parent=null;
2. 子窗体构造函数中添加一个参数,为父窗体类的对象,然后在构造函数中,把这个参数赋值给第1步的属性parent
parent=参数
3. 在父窗体中产生子窗体时,通过this把父窗体传递引用给子窗体
如 new 子窗体(this)
4. 那么子窗体类中属性parent即指向了父窗体。刷新如下:
parent.combobox.refresh()
1. 在子窗体的窗体类中添加一个属性,为父窗体类的一个对象,如
Private 父窗体类 parent=null;
2. 子窗体构造函数中添加一个参数,为父窗体类的对象,然后在构造函数中,把这个参数赋值给第1步的属性parent
parent=参数
3. 在父窗体中产生子窗体时,通过this把父窗体传递引用给子窗体
如 new 子窗体(this)
4. 那么子窗体类中属性parent即指向了父窗体。刷新如下:
parent.combobox.refresh()
展开全部
A对象的指向并不是父窗体的句柄
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呃。。。很明显。。。
子窗体中PUBLIC 父窗体 A = new 父窗体();
这个A已经不是原来的那个父窗口了。。是你new出来的另外一个父窗口。。
只不过你没有A.show();这个新的父窗口没有显示出来。。。
你刷新这个新的父窗口,是不会让原来的父窗口变化的。。。
如果你这个思路可行的话,也应该是在父窗口第一次被new的时候,使用public变量指向这个父窗口,然后在子窗口里,调用那个父窗口变量,刷新里面的combobox
一般跨窗口刷新貌似得需要异步,不然这样直接跨窗口刷新程序可能会崩溃,意思就是你在刷新父窗口的combobox的时候需要使用委托,不能直接刷新
而且一般没有用public变量指向这样的窗口的,也一般没有把里面的控件定义成public的。。。
一般像你这样的需求都是用delegate和event去做的
子窗体中PUBLIC 父窗体 A = new 父窗体();
这个A已经不是原来的那个父窗口了。。是你new出来的另外一个父窗口。。
只不过你没有A.show();这个新的父窗口没有显示出来。。。
你刷新这个新的父窗口,是不会让原来的父窗口变化的。。。
如果你这个思路可行的话,也应该是在父窗口第一次被new的时候,使用public变量指向这个父窗口,然后在子窗口里,调用那个父窗口变量,刷新里面的combobox
一般跨窗口刷新貌似得需要异步,不然这样直接跨窗口刷新程序可能会崩溃,意思就是你在刷新父窗口的combobox的时候需要使用委托,不能直接刷新
而且一般没有用public变量指向这样的窗口的,也一般没有把里面的控件定义成public的。。。
一般像你这样的需求都是用delegate和event去做的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询