我在写一个mdi应用程序,我想在一个子窗口的实例中改变另外一个窗口里控件的属性值,我需要怎么写呢?是需要重写这个窗口的类吗?

解决方案 »

  1.   

    可能是这样,你在打开子窗口的时候,将你希望修改的窗体的实力传递过去,然后操作
    代码:
        例如你想在你需要修改的窗体中打开子窗体
        dim _subform as new subform(me)
        _subform.Show()    '这是你的子窗体subform
        Private main As frmMain 这是你希望修改的目标窗体
        Public Sub New(ByVal _main As frmMain) '添加构造函数
            main = _main
        End Sub
      

  2.   

    设自窗体类MDIForm1
    设相关控件访问符publicMDIForm1 f1=new MDIForm1();
    f1.Show();
    MDIForm1 f2=new MDIForm1();
    f2.Show();
    显示两个子窗体f1的
    Button1_Click(sender,e)事件中
    f2.Label1.Text="f1.Button1";可改
      

  3.   

    没太看懂,可能是我表达的问题,我的意思是  在一个mdi的子窗体form1中修改mdi另一个子窗体form2的控件的属性,修改之后我在主窗体  dim form2 as new form2 后 ,产生的form2 实体 是修改过属性的。   怎样才能实现这样的功能呢?
      

  4.   

    回 BlackPhoenix1987()
    比如 :
    主窗体 mdiForm
    子窗体1 form1
    子窗体2 form2假如form2里的 textbox1.text默认=2mdiForm:
    sub mdiFormButton1_Click
    dim form1 as new form1
    form1.show()
    end subform1:
    sub form1Buttom1_Click
    form2.textbox1.text=1
    end sub然后 mdiForm:
    sub mdiFormButton2_Click
    dim form2 as new form2
    form2.show()
    end sub这里显示的form2.textbox1.text=?
      

  5.   

    顶一下啊! 一直没有人帮忙解决啊,我就是想在一个mdi的子窗体form1中修改mdi另一个子窗体form2的控件的属性,修改之后我在主窗体  dim form2 as new form2 后 ,产生的form2 实体 是修改过属性的。   怎样才能实现这样的功能呢?
      

  6.   

    VB的代码看不懂啥...
    不过不能NEW 只能是一个引用
    你NEW一下不就成一个新的实例了
    尝试 static
      

  7.   

    控件设置成public。或者做个中间类,由中间类去修改。
      

  8.   

    from实例放到全局变量中 
    就可以访问了
      

  9.   

    目前好像就只能  把 form 的实例 放在全局变量中,但是这种方法是不是很占用资源呢?请问?
      

  10.   

    在建立子窗体的时候
    吧父窗体 自己传过去就是在构造函数那里 传this 过去
    然后直接在子窗体里面用传过去的this来进行操作
      

  11.   

    http://blog.csdn.net/spkl1/archive/2007/06/08/1643420.aspx
      

  12.   

    amandag: 
      能帮我写个小例子吗?  
    非常感谢