刚学c#,在学到多窗体时看到了这样一条语句
public class Form1
{
  ...........
  public void Import()
  {
Form2 frm=new Form2();
  if(frm.ShowDialog(this) == DialogResult.OK)
{
          ............
}

}
我想问的就是frm.ShowDialog(this) == DialogResult.OK这句话是什么意思?还有就是ShowDialog(this)中加不加“this”有什么区别?“this”在这里的作用是什么?

解决方案 »

  1.   

    this就等于form1这个对象
    form2是一个dialog窗体。
    当form2到dialogresult==dialogresult.ok到时候比如form2里面关闭的时候
    this.DialogResult=DialogResult.OK;这个时候条件成立。
    if(frm.ShowDialog(this) == DialogResult.OK) 

              ............ 

      

  2.   

    加不加似乎没区别
    OK是判断返回值是OK还是Cancel之类的..比如文件对话框打开返回的就是ok. 具体看设定
      

  3.   

    this 指它自己,意思是如果Form2 检测用户是否点击 "OK"
      

  4.   

    this是当前类的实例frm.ShowDialog(this) == DialogResult.OK判断用户点了ok而不是cancel
      

  5.   

    在这个例子中“this”是Form1的实例还是Form2的实例?
      

  6.   

    也可以在form2的窗体中指点,当哪个按钮被点击的时候,frm.dialogresult=dialogresult.ok!
      

  7.   

    那frm.ShowDialog(this);与frm.ShowDialog();的区别在哪了?