在主窗体(a)上点击一个按钮时弹出一个模式窗体(b),然后在这个模式窗体(b)上点击按钮弹出选择颜色的对话框(c),
当点击颜色对话框(c)上点击确定或者是取消时,颜色对话框(c)和模式窗体(b)一起关闭了,是怎么回事,如何解决啊???

解决方案 »

  1.   

    主窗体(a)
     private void button2_Click(object sender, EventArgs e)
            {
                Form2 f = new Form2();
                f.ShowDialog();
            }模式窗体(b)
      private void button1_Click(object sender, EventArgs e)
            {
                ColorDialog c = new ColorDialog();
                this.DialogResult = c.ShowDialog();
            }
      

  2.   

    你不想一起关闭? 
    private void button1_Click(object sender, EventArgs e)
            {
                ColorDialog c = new ColorDialog();
           c.ShowDialog();             
            }
    你的代码?
      

  3.   

    模式窗体的DialogResult属性值为DialogResult.OK或Cancel时,窗体就关闭了。this.DialogResult = c.ShowDialog();
    这句当c关闭时,就赋了值,b窗口也就关闭了
      

  4.   

    是啊,不想一起关闭a:
              CreateNewGp newgp = new CreateNewGp(); //窗体b
              if (newgp.ShowDialog(this) == DialogResult.Yes)
              {
                        //保存
               } b:
     //弹出画笔颜色的对话框
            private void btnPenColor_Click(object sender, EventArgs e)
            {
                ColorDialog dlg = new ColorDialog();
                dlg.Color = lblColor.BackColor;            if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    lblColor.BackColor = dlg.Color;
                    lblColor.Text = "";
                }
                
            }
      

  5.   

    我估计你是把btnPenColor的DialogResult属性赋值了,这样关闭c窗体b也会关。
      

  6.   

    把btnPenColor的DialogResult属性设成None,就不会一起关掉
      

  7.   

    看你的代码, 没有关闭啊.
    查一下你的b:里是不是有类似 this.DialogResult=DialogResult.Ok 这样的
      

  8.   

    模式窗口 当 当确定按钮的dialogResult 为OK时窗口就会立即关闭 如果你想调整 你可以 调整 dialogResult的值就行了