当单击CustomizedMessageBox上的Ok时,主表单被停用
本文关键字:表单 单击 CustomizedMessageBox 上的 Ok | 更新日期: 2023-09-27 17:53:42
我创建了一个CustomizedMessageBox
,这是一个继承表单。
我在customizedMessageBox
中做了静态SHOW()
方法,它接受标题,消息,图标,按钮等。
我的问题是,当我点击CustomizedMessageBox
的'OK'时,CustomizedMessageBox.Show(...)
被称为停用的主要形式,即我的系统上的其他一些应用程序得到关注。
这并不总是发生,但当CustomizedMessageBox
至少被调用4-5次时。请建议我该怎么做。
我在互联网上看到设置MDIParent
可以解决这个问题,但在我的情况下,SHOW方法是静态的,所以我不能为此使用MDI父/子概念。
代码细节如下:
//Calling static show method of Customized Message Box
CustomizedMessageBox.Show("Data Not Found","Title", CustomizedMessageBox.CyButtons.Ok, CustomizedMessageBox.CyIcon.Error);
class CustomizedMessageBox : Form
{
static private CustomizedMessageBox _newMessageBox;
//CyButton and CyIcon are enums defined in CustomizedMessageBox class
static public DialogResult Show(string message, string title, CyButtons mButtons, CyIcon mIcon)
{
//Build Message Box by setting properties of "_newMessageBox"
_newMessageBox.ShowDialog();
//return DiaglogResult
}
}
你可以得到一个dialgresult,一旦OK被点击,再次给出你的父焦点。例如
if (CustomizedMessageBox.Show() == DialogResult.OK)
{
this.Focus();
}