请举例说明DialogResult、ShowDialog、show....
哎,没老师带,自学winform是一种痛苦

解决方案 »

  1.   

    http://005bank.blog.163.com/blog/static/1058497092009525102645385/
      

  2.   

    form.ShowDialog()  form显示后,只可使用form页面
    form.Show()        form显示后,可以使用其他页面
    DialogResult       是布尔类型OpenFileDialog dia=new OpenFileDialog ();
    ..
    if(dia.ShowDialog()==DialogResult.OK)
    {
       ...
    }
      

  3.   


    DialogResult 是布尔类型 -->返回的是一个枚举类型,可以根据不同的枚举类型制定不同的操作或提示
    具体可以看MSDN
    使用实例
      

  4.   

    Sorry 是我说错了 谢谢你帮我纠正错误 呵呵
      

  5.   

    子窗口.Show()  这时主窗口和多个子窗口之间可以随意切换
    子窗口.ShowDialog() 这时只能访问子窗口(窗口的焦点会被强制在子窗口上面,主窗口会被遮住并锁定,上面所有的输入框和按钮之类都将“点不动”,直到子窗口返回一个DialogResult或者关闭
      

  6.   

    DialogResult dr = new DialogResult ();
    Form2  frm2 = new Form2();
    dr = frm2.ShowDialog();
    if ( dr == DialogResult.OK )
        MessageBox.Show ("User clicked OK button");
    else if ( dr == DialogResult.Cancel)
        MessageBox.Show ("User clicked Cancel button");“确定”按钮的DialogResult属性就是frm2.ShowDialog();的返回值?
    “取消”按钮的DialogResult属性就是frm2.ShowDialog();的返回值?
    这是啥逻辑啊??
      

  7.   

    这些你自己编程输入不是有智能提示吗,可以去Msdn上搜搜 帮助提示也有,各种函数参数使用规则详细!
      

  8.   

    兄弟,学习是一种快乐而不是痛苦,只是你还没有找到好的方法和合适的资料微软的MSDN 应该能包含你学习阶段所有可用的资料
      

  9.   

    谢谢,不过,我有这些:实体书、MSDN、百度、QQ群、CSDN、网上视频....
    哎,学了1个月winform了,还是天马行空..学语法从没有这么困难过..
    顺便问一下,如果没有“确定”、“取消”按钮,form2会有返回值吗
      

  10.   

    DialogResult dr = new DialogResult ();
    Form2 frm2 = new Form2();
    dr = frm2.ShowDialog(); //打开一个模式对话框//后面的代码只有模式对话框关闭后才开始执行
    //当模式对话框关闭才返回 drif ( dr == DialogResult.OK ) 
    //DialogResult.OK 可以看成一个不变的int 值
    //dr 也可以看成一个 int 值
    //判断两个 int 是否相等要理解模式对话框、 emum 类型
      

  11.   

    请问,“当模式对话框关闭才返回 dr...”
    在Form2窗口上,有“确定”、“取消”两个按钮,当点击任何一个的时候,就返回了吧,这个时候并没有关闭form2啊,请解释一下,谢谢.....
      

  12.   

    或者说,为什么我点form2上的“确定”或者“取消”按钮,form2就关闭了呢,我并没有用hide或者close方法啊?
      

  13.   


    至于为什么你点了设置DialogResult属性的按钮窗口就关闭了,LZ不要想得太复杂,更不要钻牛角尖,看不懂不是借口
    在InitialComponent()组件初始化过程中,应该会有
    this.DialogResult = button2.DialogResult;
    而InitialComponent()是在Form的构造函数中,也就是说this代表的是Form的当前实例(如果你show()出来N个同样的窗口,每个按钮返回的结果都是互不影响的,因为都是赋给了各自的Form)从微软设计这个属性的名字“会话结果”,就可以看出来,只要点了它,就会(向父级控件,包括Form)返回一个结果,用来传递反馈(父窗口ShowDialog(),不就是要这个反馈吗,现在既然拿到了,自然子窗口也就可以关闭了。于是这个“关闭”的动作,被编译器也可以说是被Fomr.Net的设计者替我们自动完成了)书面的你可以看MSDN  Button.DialogResult 属性例子http://www.cnblogs.com/etindex/archive/2009/04/09/1432645.html
      

  14.   

     DialogResult dr = new DialogResult();
                Form2 frm2 = new Form2();
                dr = frm2.ShowDialog();
                if (frm2.Text.Length != 0)
                {
                    if (dr == DialogResult.OK)
                        MessageBox.Show("User clicked OK button");
                    else if (dr == DialogResult.Cancel)
                        MessageBox.Show("User clicked Cancel button");
                }
                else
                MessageBox.Show("输入错误");我没有在form2的文本框中输入,为什么没有弹出"输入错误"的窗口呢?