在MDI窗口中定义子窗口的实例,或者combobox为静态(这种方法我没试过)

解决方案 »

  1.   

    把这个窗体的ComboBox的Modifiers属性改为Public, 这样你就可以在外部访问这个窗体实例的公有成员了,不过这种方法只是暂时的办法,你提这个要求就说明你的设计上存在着问题。
      

  2.   

    把这个窗体的ComboBox的Modifiers属性改为Public
    再在外部访问这个窗体实例中的ComboxBox就行了.
      

  3.   

    谢谢大家先。
    你们觉得我的问题出在什么地方呢?
    我的设计思路是:子窗体frm2作为一个控制窗体,记录另一个窗体frm3的打开次数,及标题,并把标题记录在frm2的两个comboBox里。当关闭一个frm3的时候,同时删掉comboxBox里的纪录。就好像以前的MDI多文档编辑器那样。但是我又不能制作一个显示窗口列表的菜单,因为我还要进行不同的frm3中打开文件的比较,是通过选择两个comboBox里窗口标题进行比较。我以前是学VB的,刚刚改学C#,很多思想改变不过来。请多多帮助。
      

  4.   

    还有mdiform在创建子窗体时通过子窗体的构造函数将自己地址this传递给子窗体。当然要在子窗体中建立mdiform变量。
      

  5.   

    可以使用全局变量来传送你要的值啊!
    public static int i=0;
    这样你在调用的时候就用frm2.i或者frm3.i就可以得到值了
      

  6.   

    定义成public static型的,这样的好处是不用new form就可以用
      

  7.   

    父窗体:Form1
    子窗体:Form2
    在父窗体里写
    Form2 f2=new Form2(comboxBox里的纪录);
    f2.show();
    在子窗体:Form2中
    写构造函数
    public Form2(comboxBox里的纪录的数据类型 a)
    {
    comboxBox里的纪录的数据类型 b=a;
    }
    然后再调用.
      

  8.   

    定义一个属性记录comboxbox的值,然后在另一个窗体调用这个属性即可.
      

  9.   

    两种方法:
    1.在被读取的窗体类中把ComboBox设为static,在读取窗体中通过类直接调用。
    2.通过事件传递建议用第一种,简单