有人能给出在MessageBoxManager类中设置超时功能的明确示例吗?
我看到了这些链接,但无法理解如何正确使用它。我需要调出一个消息框询问某些东西,它会倒数3秒以获得默认答案。 http://www.codeproject.com/Articles/13123/MessageBoxManager-A-Windows-Forms-component-that-p
http://www.codeproject.com/Articles/18399/Localizing-System-MessageBox
我试过用这个:
MessageBoxManager.Yes = "Lab";
MessageBoxManager.No = "Machine";
MessageBoxManager.Register();
DialogResult dialogResult = MessageBox.Show("Choose your working method",
"Choose your working method", MessageBoxButtons.YesNo);
但是没有办法选择超时功能...
答案 0 :(得分:3)
在第一个链接中使用DLL尝试以下操作。 请注意,第一个链接中的库与第二个链接中的库完全不同。
MessageBoxManager manager = new MessageBoxManager();
manager.ShowTitleCountDown = true;
manager.AutoCloseResult = System.Windows.Forms.DialogResult.No;
manager.TimeOut = 5;
manager.AutoClose = true;
manager.HookEnabled = true;
DialogResult res = MessageBox.Show("Testing", "Hello", MessageBoxButtons.YesNo);
if (res == System.Windows.Forms.DialogResult.Yes)
{
Console.WriteLine("yes pressed");
}
else
{
Console.WriteLine("no presssd");
}
答案 1 :(得分:1)
这应该对你有帮助。
Close a MessageBox after several seconds
或者如果你真的想使用MessageBoxManager,你可以设置以下属性:
int TimeOut
:指定自动关闭,按钮禁用和标题倒计时功能使用的超时秒数。
bool AutoClose
:将此设置为true可在TimeOut
属性指定的秒数过后自动关闭消息框。
DialogResult AutoCloseResult
:设置AutoClose
属性后,您可以通过此属性指定DialogResult
,调用代码(调用消息框)将会看到该属性。 / p>