if (f9.ShowDialog() == DialogResult.Yes)
{
MessageBox.Show("请先计算!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
} 你这样写就代表f9关闭了才显示你的信息窗体,如果想实现你想要的效果,把 MessageBox.Show("请先计算!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);写在f9的FormClosing事件里面, MessageBox.Show()的返回结果是DialogResult,如果是Dialogresult.OK就return。
你这个messagebox代码是写在父窗体的,
建议你把Messagebox改写到Form的Load事件中, 让Form9在加载完成时 ,弹出对话框,
改成f9.show试试