关于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控件没有刷新,这是为什么呢?本人新手,求大神讲解。
展开
 我来答
MyAppleKnows
推荐于2018-04-12 · TA获得超过695个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:420万
展开全部
你是先有父窗体,然后父窗体产生了子窗体吧。
1. 在子窗体的窗体类中添加一个属性,为父窗体类的一个对象,如
Private 父窗体类 parent=null;
2. 子窗体构造函数中添加一个参数,为父窗体类的对象,然后在构造函数中,把这个参数赋值给第1步的属性parent
parent=参数
3. 在父窗体中产生子窗体时,通过this把父窗体传递引用给子窗体
如 new 子窗体(this)
4. 那么子窗体类中属性parent即指向了父窗体。刷新如下:
parent.combobox.refresh()
MobileVip
2012-05-31 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:102万
展开全部
A对象的指向并不是父窗体的句柄
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llq6llq
2012-05-29 · TA获得超过1106个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:134万
展开全部
呃。。。很明显。。。

子窗体中PUBLIC 父窗体 A = new 父窗体();
这个A已经不是原来的那个父窗口了。。是你new出来的另外一个父窗口。。
只不过你没有A.show();这个新的父窗口没有显示出来。。。
你刷新这个新的父窗口,是不会让原来的父窗口变化的。。。

如果你这个思路可行的话,也应该是在父窗口第一次被new的时候,使用public变量指向这个父窗口,然后在子窗口里,调用那个父窗口变量,刷新里面的combobox

一般跨窗口刷新貌似得需要异步,不然这样直接跨窗口刷新程序可能会崩溃,意思就是你在刷新父窗口的combobox的时候需要使用委托,不能直接刷新

而且一般没有用public变量指向这样的窗口的,也一般没有把里面的控件定义成public的。。。
一般像你这样的需求都是用delegate和event去做的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昵称设置有误
2012-11-17
知道答主
回答量:35
采纳率:0%
帮助的人:12.2万
展开全部
同意一楼看法...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式