我建了一个windows application 在一个form1中点一个按钮谈出一个对话框(也是一个form2),在form2中输入值之后按ok后给form1中的treeview添加节点,然后form2.close()回到form1中,但是在form1中的treeview没有刷新,不能看到新添加的节点,试过很多,都不行。如何刷新?

解决方案 »

  1.   

    这个自己会刷新,应该是你没添加成功reeview的节点吧
      

  2.   

    搜索一下窗体传值的问题吧。你怎么把form1传过去的?
      

  3.   

    节点添加成功了,我跟进去看了好几遍
    没办法我在form1中加了一个timer,在里面加了this.show(),就可以了,但是这不是解决办法
      

  4.   

    弹出窗口(form2)中btn的Click事件
    private void buttonOK_Click(object sender, EventArgs e)
            {
                 objFormMain.AddNewGroup(strGroupName);
                objFormMain.listCurrentStructure();            this.Close();
    //FormMain是form1窗口
                Form kk = new FormMain();
                
                kk.show();
               
            }
      

  5.   

    调用窗口的方式有问题,用DialogResult
      

  6.   

    把buttonOK的DialogResult属性设成OK,然后在FORM2中设一个string static mTreeText的变量,
    if (Form2 .Show ()=DialogResult .OK )
    {
        treenode mtreenode  =new treenode(from2.mTreeText);
        TREEVIEW.NODES.ADD(MTREENODE)
    }
      

  7.   

    if (Form2 .Show ()=DialogResult .OK )写在FROM1里
      

  8.   

    谢谢,
       private void menuItemAddNewGroup_Click(object sender, System.EventArgs e)
            {
                Form objfrom2 = new from2();            if(objfrom2 .Show() == DialogResult.OK)
                {
                    treenode mtreenode  =new treenode(from2.mTreeText);
                    TREEVIEW.NODES.ADD(MTREENODE)            
                 }      
      }
    在from2中怎么写才能把from2中的textbox中的值付给mTreeText?
    你说的form2是一般的form吗?
      

  9.   

    简单的窗体间传值问题请参考
    http://blog.csdn.net/chenyuling/archive/2007/05/25/1625907.aspx
    http://blog.csdn.net/simonllf/archive/2007/03/01/1517934.aspx
      

  10.   

    编译时if(objfrom2 .Show() == DialogResult.OK)
    有错Error 1 Operator '==' cannot be applied to operands of type 'void' and 'System.Windows.Forms.DialogResult' E:\projects\Admin\FormMain.cs 1919 16 Admin
      

  11.   

    Control.Invalidate ()  使控件的指定区域无效,并向控件发送绘制消息。  
    看看行不?不过我增加节点的时候,都是自动画的..你有没有override什么啊?
      

  12.   

    寫個加載treeview  node的方法。
    form2 close()后,再次執行!
      

  13.   

    最简单的就是把frmmain直接传到form2里作为from2 的一个成员,在from2中添加节点。注意load  f2时main不要close。用ShowDialog
      

  14.   

    搞这么复杂干嘛。。
    一定要记得把FORM2中的buttonOK的DialogResult属性设成OK,(对应你的程序),
    其次在FORM2中设置
    public static string mTreeNodeText;在buttonOK的click事件中赋mTreeNodeText=this .textbox.text;
    OK,qita
      

  15.   

    另外我写错了。。不是SHOW();方法,应该是Form1.ShowDialog();方法
    不好意思