在开发系统时,常常有这样一个问题,就是当关闭主窗体,也即退出系统时,如果想提示是否关闭,以免误操作,可以在主窗体的Main_FormClosing事件中添加一个对话框,代码如下:
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{DialogResult TS = MessageBox.Show("退出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (TS == DialogResult.Yes)
e.Cancel = false;
else
e.Cancel = true;
}
这样,点击“是”,就退出系统,“否”就关闭对话框,不退出系统。值得注意的是,该思路也可用于关闭某个窗体时提示是否对该窗体所做的操作进行保存,同样是在窗体的FormClosing事件中,如下所示:
private void Education_Train_Mark_KeyIn_FormClosing(object sender, FormClosingEventArgs e)
{
if (!saved)
{
DialogResult TS = MessageBox.Show("保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (TS == DialogResult.Yes)
{
button1_Click(sender, e);//保存操作按钮的单击事件
e.Cancel = false;
}
else
e.Cancel = false;
}
}
上面的saved定义了一个bool型的变量,作用在于判断是否进行了保存操作。如果事先没保存,点击“是”,就保存,然后关闭该窗体;如果点击“否”,就直接关闭该窗体。