社区
C#
帖子详情
有谁可以实现自动关闭消息框MessageBox么?
china1976
2009-10-25 02:07:40
c#:
......
DialogResult PrtYesOrNo = MessageBox.Show("是否打印", "打印提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
......
不知道是否有自动关闭或定时关闭该消息框的实现方法。要实现的效果是在用户没有点击的情况下自动关闭该提示框以更加人性化。
...全文
715
14
打赏
收藏
有谁可以实现自动关闭消息框MessageBox么?
c#: ...... DialogResult PrtYesOrNo = MessageBox.Show("是否打印", "打印提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); ...... 不知道是否有自动关闭或定时关闭该消息框的实现方法。要实现的效果是在用户没有点击的情况下自动关闭该提示框以更加人性化。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
geqinggao
2012-07-19
打赏
举报
回复
无法加载 DLL“coredll.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
jieon
2009-10-28
打赏
举报
回复
用个循环不就行 麻烦。
china1976
2009-10-28
打赏
举报
回复
win32.dll改为user32.dll
可以了
但是现在感觉还是用模式窗口的效果要好一些,兼容性好且易控制,感谢各位,开始结帖散分了。
ping_2009
2009-10-28
打赏
举报
回复
将上面 “使用时:”之前的那段代码单独放到一个类里就可以,然后后面使用的时候就按照后面说的就行了……
ping_2009
2009-10-28
打赏
举报
回复
public void ShowMessageBoxTimeout(string text, string caption, int timeout)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(CloseMessageBox),
new CloseState(caption, timeout));
MessageBox.Show(text, caption, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2);
}
private void CloseMessageBox(object state)
{
CloseState closeState = state as CloseState;
Thread.Sleep(closeState.Timeout);
IntPtr dlg = FindWindow(null, closeState.Caption);
if (dlg != IntPtr.Zero)
{
IntPtr result;
EndDialog(dlg, out result);
}
}
[DllImport("coredll.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("coredll.dll")]
static extern bool EndDialog(IntPtr hDlg, out IntPtr nResult);
private class CloseState
{
private int _Timeout;
public int Timeout
{
get
{
return _Timeout;
}
}
private string _Caption;
public string Caption
{
get
{
return _Caption;
}
}
public CloseState(string caption, int timeout)
{
_Timeout = timeout;
_Caption = caption;
}
}
使用时:
//提示框显示2秒钟后自动关闭
close_messageBox.ShowMessageBoxTimeout("发送完成!", "提示", 2000);
在winform下使用时,只需将coredll.dll改为win32.dll即可
lsj_zrp
2009-10-28
打赏
举报
回复
自己用窗口模拟,再用timer实现
w_f_y4422
2009-10-28
打赏
举报
回复
[Quote=引用 1 楼 ycagri 的回复:]
加个timer
[/Quote]
我觉得只是这样还不行,MessageBox只有静态的Show函数,不能用实例显示,显示之后也只能单击确定才能关闭。
最好自己编一个像MessageBox的窗体,就可以用timer控制了。
sohighthesky
2009-10-28
打赏
举报
回复
sendmesssage点击确定
guyehanxinlei
2009-10-28
打赏
举报
回复
[Quote=引用 5 楼 hooverhuang 的回复:]
引用 1 楼 ycagri 的回复:
加个timer
我也赞同这种方法,设置时间限制,超时就自动关闭
[/Quote]
Approve
HooverHuang
2009-10-28
打赏
举报
回复
[Quote=引用 1 楼 ycagri 的回复:]
加个timer
[/Quote]
我也赞同这种方法,设置时间限制,超时就自动关闭
china1976
2009-10-28
打赏
举报
回复
是c#,winform环境下
Sugar_Tiger
2009-10-26
打赏
举报
回复
http://www.cnblogs.com/eaglet/archive/2009/07/25/1529920.html
ping_2009
2009-10-25
打赏
举报
回复
是什么环境下的啊?我这里有wince和winform环境下的
ycagri
2009-10-25
打赏
举报
回复
加个timer
自动
关闭
的
消息
框
-
Messagebox
在给定的“
自动
关闭
的
消息
框
-
Messagebox
”主题中,我们关注的是如何
实现
一个能够
自动
关闭
的`
MessageBox
`,而不是简单地等待用户点击“确定”按钮。 1. **
自动
关闭
机制**:通常情况下,`
MessageBox
`会阻塞当前线程,...
C#
实现
winform
自动
关闭
MessageBox
对话
框
的方法
总的来说,C#中
实现
Winform
自动
关闭
`
MessageBox
`对话
框
涉及对Windows API的调用以及计时器的使用。这个技术对于需要在特定时间或条件后
自动
关闭
对话
框
的应用场景非常有用。通过理解并运用这些知识,开发者可以创建更...
CSharp
实现
消息
框
倒计时
自动
关闭
窗口
通过以上步骤,我们就可以在C#中
实现
一个具有倒计时功能并能
自动
关闭
的
消息
框
了。这样的自定义控件不仅可以提升用户体验,还能在某些场景下避免用户因为忘记操作而长时间等待。当然,实际编程时还需要根据具体需求...
C#版
Messagebox
Timeout-
自动
关闭
messagebox
消息
对话
框
C#版
Messagebox
Timeout-
自动
关闭
messagebox
消息
对话
框
实现
了
messagebox
对话
框
自动
关闭
,可以自由设定等待几秒后
自动
关闭
。 内附使用说明
C#
实现
延时并
自动
关闭
MessageBox
的方法
通过这种方法,我们可以
实现
自动
延时
关闭
的
MessageBox
,使得用户无需手动操作即可
关闭
提示信息,提高了用户体验。不过,这种方式并不适用于所有情况,比如在多线程环境下,需要更复杂的同步机制来确保安全。总的来说...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章