C# 单击CustomizedMessageBox上的“确定”时,主窗体将被停用
我已经创建了一个C# 单击CustomizedMessageBox上的“确定”时,主窗体将被停用,c#,.net,winforms,messagebox,C#,.net,Winforms,Messagebox,我已经创建了一个CustomizedMessageBox,它是一个继承的表单。 我在customizedMessageBox中创建了静态SHOW()方法,它接受标题、消息、图标、按钮等 我的问题是,当我单击CustomizedMessageBox的“确定”时,调用CustomizedMessageBox.Show(…)的主窗体被停用,即我系统上的其他应用程序获得焦点 这种情况并不总是发生,但至少调用了4-5次CustomizedMessageBox。请建议我该怎么做 我在互联网上读到设置MDIP
CustomizedMessageBox
,它是一个继承的表单。我在
customizedMessageBox
中创建了静态SHOW()
方法,它接受标题、消息、图标、按钮等
我的问题是,当我单击CustomizedMessageBox
的“确定”时,调用CustomizedMessageBox.Show(…)
的主窗体被停用,即我系统上的其他应用程序获得焦点
这种情况并不总是发生,但至少调用了4-5次CustomizedMessageBox
。请建议我该怎么做
我在互联网上读到设置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
}
}
您可能会得到一个对话框结果,单击OK后,再次将焦点交给您的家长。比如说
if (CustomizedMessageBox.Show() == DialogResult.OK)
{
this.Focus();
}
请出示(!)相关代码。您好,正在扫描。。。。没有密码?我要离开了。您好,需要其他代码详细信息吗?请检查是否处理了任何事件(OnClose、OnDeactivate等)。当您将Enabled属性设置为false而不是将其留给ShowDialog()时,会发生这种情况。您的代码片段不足以诊断该问题或推荐替代方案。