winform怎样设置单击事件调用子窗体,除非第一次关闭,否则后面不能重复打开。
  以下的代码只能打开一次,我想做到关闭之后,单击又能再次打开,请问怎么做?望各路大神指点迷津。谢谢
        bool IsPress=false; 
        private void btn_user_Click(object sender, EventArgs e)
    {
        if (!IsPress)
        {
            this.IsMdiContainer = true;                   //设置父窗体是容器
            UserNameForm userform = new UserNameForm();             //实例化子窗体
            userform.MdiParent = this;                     //设置窗体的父子关系
            userform.Parent = panel3;                //设置子窗体的容器为父窗体中Panel
            userform.Show();                             //显示子窗体
            IsPress = true;
        }
    }

3个回答

IsPress = true;去掉就可以了。

jimmy0303
jimmy0303 我试过了,不行。
5 年多之前 回复

把你代码中的IsPress变量设为全局变量,然后在子窗体初始化时设置 IsPress = true;
子窗体onclosing事件中设置 IsPress =false 就可以了

jimmy0303
jimmy0303 全局变量找不到
5 年多之前 回复
jimmy0303
jimmy0303 设为全局变量,子窗体也找不到IsPress
5 年多之前 回复

囧,你的IsPress在单击的情况下已经赋值为了True了,以后再单击的时候,这个状态就是true所以不会执行到你的代码位置,你可以在子窗体关闭的时候,
将IsPress设置为False,这样就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐