CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

一个Dlg主窗体,其他的dlg都是非主窗体,如何在使在主窗体的全局变量能被其他的窗体访问啊?

楼主ATLSurvival(花开花落两不知)2003-08-04 08:29:56 在 .NET技术 / C# 提问

主窗体的类好像没有任何的类的实例变量的,不知道怎么可以让其他的窗体访问的! 问题点数:13、回复次数:14Top

1 楼conghui(万物苏醒)回复于 2003-08-04 09:01:59 得分 0

可在其他的非主窗体中,为该主窗体创建一个实例对象,用该对象即可访问.Top

2 楼snof(雪狼)回复于 2003-08-04 09:03:46 得分 13

把它定义成public   static,  
  如:  
  public   static   string   s;Top

3 楼ATLSurvival(花开花落两不知)回复于 2003-08-04 09:34:45 得分 0

conghui(聪慧),如果有10个非主窗体,那么不是重复,重复,再重复的创建了10遍么?  
   
  这10遍,在内存里面,都还是一个实例变量,还是10个实例变量啊?  
   
  如果是10个实例变量了,这个办法就是不可行的了!Top

4 楼ddy2000(梦归自然)回复于 2003-08-04 09:42:35 得分 0

upTop

5 楼ddy2000(梦归自然)回复于 2003-08-04 09:47:36 得分 0

定义一个静态的管理类,程序启动后保存主dlg对象,以后在其他窗体中使用Top

6 楼ATLSurvival(花开花落两不知)回复于 2003-08-04 09:50:07 得分 0

ddy2000(梦归自然),这样太抽象了,能不能具体一点啊?Top

7 楼xlove(求田问舍)回复于 2003-08-04 10:34:13 得分 0

up   snofTop

8 楼ATLSurvival(花开花落两不知)回复于 2003-08-04 11:27:53 得分 0

up  
  gzTop

9 楼dqdan(小强)回复于 2003-08-04 15:36:16 得分 0

在每个非主体的窗口中建立一个主体窗口的对象,在创建非主体窗口时初始化该对象。  
  例如:  
  Class   MainForm    
  {  
          ...  
          //初始化非主体   窗口  
          Form1   TestForm   =   new   Form1(this);  
  }  
   
  Class   Form1  
  {  
          private   MainForm   m_MainForm   =   null;  
          public   Form1(MainForm   mainForm)  
          {  
                      m_MainForm   =   mainForm;  
            }  
  }Top

10 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2003-08-04 15:52:41 得分 0

这个吗,不难,有两方法  
   
  一。主窗体类初始化的  
          from1   f1=   new   form1();  
          f1.要访问的变量(在form1类中用public   关键字定义的)  
  二。主窗体类未初始化的  
          f1.要访问的变量(在form1类中用public   static   关键字定义的)Top

11 楼ATLSurvival(花开花落两不知)回复于 2003-08-05 09:18:44 得分 0

奇怪,我这样了,在总的名字空间加了一个类  
  class   ShareData  
  {  
          public   static   string   aa   =   "tttt";  
          public   static   int   bb   =   1;  
          ...  
  };  
  在其他的地方可以用  
  ShareData.aa  
  why?  
  类ShareData还没有实例化(没有New一下子的啊),怎么可以类名dot域成员名字啊?  
   
  这在C++里面是绝对错误的啊?Top

12 楼dqdan(小强)回复于 2003-08-05 09:37:10 得分 0

你使用的是静态的成员变量,使用静态的东西是不需要开辟空间的!  
  使用静态:类名.方法或属性  
  非静态:对象名称.方法或属性  
  Top

13 楼ATLSurvival(花开花落两不知)回复于 2003-08-05 09:46:31 得分 0

还是小强(好熟悉?),比较通俗一点啊!Top

14 楼cygroup()回复于 2003-08-05 10:19:30 得分 0

这样行不行:在非主窗口类中加一个公共方法例如SetMainFrame(MainFrame   form),其中MainFrame为主窗口类名称,然后在主窗口中创建非主窗口类的实例时,调用该方法,并将主窗口的this引用传递过去,这样可能会比较好,因为在非主窗口类的实例中再创建主窗口的实例毕竟还是与启动时创建的主窗口实例不同的。Top

相关问题

  • 怎样读取主窗体中的变量?
  • 我在主窗体main设的个变量,怎么在子窗体中调用呢??
  • 请问:子窗体是否可以调用主窗体的变量,如果要调用怎么办?
  • 关于窗体变量
  • 请问如何在子窗体动态创建时就将主窗体中的某个变量(例如一个int)传給子窗体?
  • 我在主窗体main设的个变量,怎么在子窗体中调用呢??(只有这里还有人呀,我用的delphi)
  • 急问如何在弹出的窗口中调用主窗体的控件变量?
  • 窗体变量的释放问题
  • 窗体之间变量转换问题
  • 怎样用变量控制窗体?????!!!!!?????????????

关键词

  • 窗体
  • 主
  • 变量
  • 实例
  • 类
  • dlg
  • mainform
  • sharedata
  • 初始化
  • 静态

得分解答快速导航

  • 帖主:ATLSurvival
  • snof

相关链接

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

广告也精彩

反馈

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