none
winForm中,再次运行designer.vb文件 RRS feed

  • 问题

  • 在项目中遇见了如下问题:
    假设有两个Form:1  mainForm  其中有个参数 public m_flg as Boolean = False  2 dlgFrm  其中有个button
     在MainForm中我调用dlgForm 
    dim frm as new dlgForm
    frm.showDialog()

    在dlgFrm中,在button_click事件 我是这样调用主Form中的参数的,mainForm.m_flg = True,然而就在调用这句时,发现它会去调用mainForm.Designer.vb中的 
    Public Sub New()
            MyBase.New()
            'This call is required by the Windows Form Designer.
            InitializeComponent()
    End Sub
    这样将我的m_flg又重新初期化了等类似问题。
    请高手指点!自己单独做个Demo测试的时候却没有出现这个问题。请问该如何去查找!
                    
    wis_it
    2009年8月12日 8:54

答案

  • 你好!
         不要重新初始化mainForm,直接把主窗体的实例通过构造函数传过来:
         具体可以参考我的博客,希望对你有帮助:
    http://www.cnblogs.com/xuefeng1982/archive/2009/07/17/1525541.html
    周雪峰
    • 已标记为答案 Kira Qian 2009年8月18日 8:04
    2009年8月12日 14:07
    版主

全部回复

  • 如果你是使用.NET2.0及以上的版本呢,你可以不用在主窗体中dim frm as new dlgForm,而是直接dlgForm.ShowDialog
    这样回调的时候就不会新建窗体了。
    2009年8月12日 12:04
  • 你好!
         不要重新初始化mainForm,直接把主窗体的实例通过构造函数传过来:
         具体可以参考我的博客,希望对你有帮助:
    http://www.cnblogs.com/xuefeng1982/archive/2009/07/17/1525541.html
    周雪峰
    • 已标记为答案 Kira Qian 2009年8月18日 8:04
    2009年8月12日 14:07
    版主