如果 SaveFileDialog 在我的 SaveAs Click 事件中,我希望我的 formClosing 事件取消它的关闭操作, 是取消
void exitToolStripMenuItem_Click (object sender, EventArgs e) {
this.Close ();
}
void form1_FormClosing (object sender, FormClosingEventArgs e)
{
if (isContentChanged)
{
DialogResult result = MessageBox.Show ("Do you want to save [ "+this.Text+"] ?", "Save", MessageBoxButtons.YesNoCancel);
if (result == DialogResult.Yes)
{
saveAsToolStripMenuItem_Click (sender, e);
}
else if (result == DialogResult.Cancel)
e.Cancel = true;
}
}
private void saveAsToolStripMenuItem_Click (object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog ();
sfd.Filter = "Drawing Files | *.drg";
DialogResult result = sfd.ShowDialog ();
if (result == DialogResult.OK) {
SaveFile (sfd.FileName);
isContentChanged = false;
}
else if (result == DialogResult.Cancel)
{
// NEED TO CANCEL FORM CLOSING HERE
}
}
这可能吗?如果是,如何?
最佳答案
试试这个:
private void saveAsToolStripMenuItem_Click (object sender, EventArgs e)
{
...
if (result == DialogResult.OK)
{
...
}
else if (result == DialogResult.Cancel)
{
((FormClosingEventArgs) e).Cancel = true;
}
}
关于c# - 从某些事件中取消表单关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33390614/