在form1的textbox的gotfocus事件里面设置了
“Form2 form2=new Form2();
form2.showdialog();

运行时为什么出现“已经可见的窗体不能显示为模式对话框。在调用showdialog之前应将窗体的Visible属性设置为false.”? 

解决方案 »

  1.   

    说明你的窗体已经显示出来了,则不能再次以模态窗体显示出来了。
    如果form2还没有显示出来则可以用showdialog的方法显示为模态窗体,已经显示出来的在不能,除非你再次实例化话一个form2再调用showdialog方法才行。
      

  2.   

    不是将前面窗口设置为false的问题
    不过C#里有gotfocus这个事件么?
    还有。我刚试过了,没有问题,能把你代码贴出来么?
      

  3.   

    在form1中的文本框获取焦点后,打开“数字键盘1”窗体,然后我想把“数字键盘1”数字传到form1的文本框中。之前我都是用按钮来触发的,这次用GotFocus,就出来这样的情况
            private void textBox2_GotFocus(object sender, EventArgs e)
            {
     数字键盘 数字键盘1 = new 数字键盘();
                数字键盘1.ShowDialog();
              
            }