技能要点
窗口正要关闭但是没有关闭之前会触发FormClosing事宜,该事宜中的参数FormClosingEventArgs e中包含Cancel属性,如果设置该属性为True,窗口将不会被关闭。以是在该事宜处理代码中可以提示用户是否关闭程序,如果用户不想关闭程序,则设置该参数为True。利用MessageBox参数的返回值可以知道用户所选择的按钮。下面详细先容一下干系属性。
CancelEventArgs.Cancel属性用来获取或设置指示是否应取消事宜的值。其语法格式如下:
public bool Cancel { get; set; }
l 属性值:如果应取消事宜,则为True;否则为False。
实现过程
(1)创建一个项目,将其命名为QueryClose,默认窗体为Form1。
(2)紧张程序代码。
private void Form1_FormClosing(object sender, FormClosingEventArgs e){ //当单击“是”时 if (MessageBox.Show("将要要关闭窗体,是否连续?", "讯问", MessageBoxButtons.YesNo) == DialogResult.Yes) { e.Cancel = false; //不取消事宜的值 } else当单击“否”时 { e.Cancel = true; //取消事宜的值 }}