我Messagebox
在我的应用程序中使用了一个自定义Form
类的自定义类。当我在主窗体上使用它时,它可以正常工作。但是,当我Show()
在本身从主窗体弹出的窗体上使用其功能时,Messagebox
隐藏在第二个窗体下,因此该程序不可用。
即使当我使用它的BringToFront()
功能之前,ShowDialog()
它仍然可以返回。这是Show()
此自定义消息框的功能。如有必要,我可以共享其更多代码:
public static DialogResult Show(string message, string title)
{
_msgBox = new MsgBox();
_msgBox._lblMessage.Text = message;
_msgBox._lblTitle.Text = title;
_msgBox.Size = MsgBox.MessageSize(message);
MsgBox.InitButtons(Buttons.OK);
//_msgBox.BringToFront();
_msgBox.ShowDialog();
return _buttonResult;
}
MsgBox
是类本身的名称:
class MsgBox : Form
尝试传递您的内部消息框类的Owner值
public static DialogResult Show(string message, string title, Form owner = null)
{
_msgBox = new MsgBox();
_msgBox._lblMessage.Text = message;
_msgBox._lblTitle.Text = title;
_msgBox.Size = MsgBox.MessageSize(message);
MsgBox.InitButtons(Buttons.OK);
if(owner != null)
_msgBox.ShowDialog(owner);
else
_msgBox.ShowDialog();
return _buttonResult;
}
使用默认参数,您可以仅在需要的地方更改代码。
经过一番研究,我发现了这个问题及其答案,这在某种程度上解释了这种现象
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句