关于窗口右上角的叉叉问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:57:00
假设一段程序
form1里一个按钮FC1 form2里一个按钮FC2
FC1的单击事件是
form2.show
form1.Enabled = False
FC2的单击事件是
unload form2
form1.Enabled= True
看起来很正常的.可是当我打开form2时我如果不按按钮.
直接去点右上角的叉叉(我不想去掉这个叉叉,因为有标题在)
那么form1.Enabled= True这段不执行.那么form1还处在False阶段
我想把那个叉叉搞成和FC2一样的作用.怎么搞..
那么把这段放到哪里呢...刚学的.不懂界面代码是哪.我这是VB.忘了说明了.二段都不行啊.都试过了..555555555555..算了,我再发个贴说明是VB吧.辛苦你了.给你分吧

你需要重写关闭函数
private void form2_Closing(object sender, CancelEventArgs e){
form1.Enabled= True;
e.Cancel = false;
}

并在界面代码中加入
this.Closing += new System.ComponentModel.CancelEventHandler(form2_Closing);

我用的是c# 试试看

vb 的话没试过
看看这样可以不可以
Private Sub Form2_Unload(Cancel As Integer)
cancel=2
form1.enable = true
unload form2
End Sub

不大会vb,刚网上看到一段代码,感觉正确

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

form1.enable = true
e.Cancel = false;

End Sub

没有vb不能给你调 试试看好了
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
form1.enable = true
Cancel =false
End Sub