CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

新手请教:子窗口如何改变父窗口控件的属性?--在线等待

楼主sunnyshore()2003-07-03 09:56:01 在 .NET技术 / C# 提问

我再父窗口定义了一个menuItem1,并设置enabled   =   false;  
  我想再子窗口中再设定它为true.  
  怎么调用呀 问题点数:20、回复次数:5Top

1 楼TheAres(班门斧)回复于 2003-07-03 10:00:49 得分 0

先找到(一般用预先保存的方法)父窗体的实例,然后通过这个实例找到menuItem1Top

2 楼daemonking(daemonking)回复于 2003-07-03 10:07:38 得分 0

把menuIteml的属性访问属性为public,反正不能够是private,然后FrmParent.menuIteml,  
  不过这样子做不好,最好还是用一个属性或者方法去设置enabled的值,Top

3 楼zhongjy001(阿宇)回复于 2003-07-03 10:23:50 得分 10

在父窗体定义一个静态公用属性  
  public   static   bool   menuItem1Enabled  
  {  
          set  
          {  
                  menuItem1.Enabled=value;  
          }  
          get  
          {  
                  return   menuItem1.Enabled;  
          }  
  }  
  这样你就可以直接在子窗体里调用了,而且不用实例化。  
  父窗体.menuItem1Enabled=true   or   false  
  如果要控制多个menuItem的属性,你可以将其序列化。Top

4 楼mwpg79(^_^大海无量)回复于 2003-07-03 10:33:56 得分 10

楼上的这种方法不行,静态函数是属于class的,不是属于实例的,你的menuItem1没有指明是属于那个实例引用,编译是会出错的。  
   
  遇到这种问题,我一般在创建子窗体时,把父窗体的实例引用传给子窗体保存,然后把父窗体中的相关控件的属性改为public,或是提供public的方法,就可以随时在子窗体中修改属性或是通过调用父窗体的public方法来达到修改属性的目的,推荐后者,封装性好些  
   
  Top

5 楼mwpg79(^_^大海无量)回复于 2003-07-03 10:35:31 得分 0

To   zhongjy001(.):  
   
        sorry,我看漏了你的第一句话,你的方法也是可行的。不好意思  
  Top

相关问题

  • →→→ 动态改变控件属性问题,在线等待解决 ←←←
  • ?如何得到控件属性列表,在线等待
  • 控件属性改变 (急)在线等待
  • 控件的属性
  • Picture控件属性
  • 请问:如何改变父窗体的控件属性?
  • 如何获取父窗口控件属性
  • 控件的属性问题★☆★
  • VB控件的CAPTION属性
  • 这个控件的属性?

关键词

  • 属性
  • 窗体
  • 实例
  • menuitem1
  • 调用
  • 方法
  • enabled

得分解答快速导航

  • 帖主:sunnyshore
  • zhongjy001
  • mwpg79

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo