2010-11-24 126 views

回答

9
timer.Interval=5000; 
timer.Enabled=true; 
MessageBox.Show("Should close automatically"); 

与关联计时器的Tick事件处理程序下面的代码片段:

private void timer_Tick(object sender,EventArgs evt) { 
    timer.Enabled=false; 
    SendKeys.Send("{ESC}"); // SendWait as alternative 
} 
2

不可能与MessageBox类;您必须创建自己的模拟模板并自行添加此功能。

+0

那么,你可以用Windows API消息框来做到这一点。您只需掌握消息框窗口句柄,然后在计时器触发后发布WM_CLOSE消息。确保你注意到窗户关闭的事件,并在这种情况下放弃计时器。你只需要一点P/Invoke。但更好的解决方案是不按照我的答案使用对话框Q. – 2010-11-24 18:18:54

+0

我可能应该这样写:“MessageBox`没有这个功能,你需要一个解决方法”。 – BeemerGuy 2010-11-24 18:21:45

0

消息框是错误的解决方案。你需要一个提示窗口。

+0

什么是“提示窗口”?如果它的窗体中的某些东西对我来说是新的 - 如果它创建了某种东西,那么这个东西太简单了。 – Murph 2010-11-24 18:39:54

0

如果这是在网页上,你可以使用JavaScript或jQuery的了相当不错的效果。这通常被称为“淡入淡出”动画。它确实使用了一个计时器。

使用这种方法,您不会使用实际的警报或MessageBox。您使用<div>或其他一些指定的HTML元素。

你可以找到代码here为你在做什么使用JavaScript。

或者如果您使用的是jQuery,请查阅fadeOut。这里有一个article