自定义WinForm与MessageBox图标和声音

时间:2012-03-28 16:16:10

标签: winforms .net-3.5 messagebox

我想创建一个模式对话框,其控件比标准.NET MessageBox提供的控件多。我创建了自己的Windows窗体,将使用ShowDialog()调用它来提供模态行为。但是,我想通过MesageBoxIcon利用MessageBox附带的图形。这可能吗?是否也可以复制播放与消息框图标关联的错误/警告窗口声音(因为它们是在用户的窗口设置中设置的)?

2 个答案:

答案 0 :(得分:13)

请参阅System.Drawing.SystemIcons课程,以显示MessageBox班级使用的系统图标,例如QuestionInformationWarning

e.Graphics.DrawImage(SystemIcons.Question.ToBitmap(), new Point(0, 0));

对于声音,请参阅System.Media.SystemSounds课程以播放相关声音。

System.Media.SystemSounds.Asterisk.Play();

答案 1 :(得分:1)

MessageBox是由我害怕的操作系统提供的。您可以扩展它,但它需要大量工作(请参阅this CodeProject文章获取教程)。你最好的选择可能是从你建议的继承自Form的控件开始。

要访问图标,就像使用System.Drawing.SystemIcons类一样简单(文档为here。)

相关问题