hhhh2010

博客园 首页 新随笔 联系 订阅 管理

       最近一直用到winform的MessageBox,感觉还是很混乱。刚好在网上发现xuenzhen的博客,特此借鉴记录一些东西。

       下面的MessageBox的九中用法,来自xuenzhen的博客:http://blog.csdn.net/xuenzhen123/article/details/4808005。图片没有转载,在VS10中测试通过

一 MessageBox九种用法

1.MessageBox.Show("Hello~~~~");

最简单的,只显示提示信息。

2.MessageBox.Show("There are something wrong!","ERROR");

  可以给消息框加上标题。

3.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel) == DialogResult.OK)

{

   //delete

}

询问是否删除时会用到这个。

4.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel,MessageBoxIcon.Question) == DialogResult.OK)

{

    //delete

}

可以给MessageBox加上一个Icon,.net提供常见的Icon共选择。

5.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2) == DialogResult.OK)

{

   //delete

}

可以改变MessageBox的默认焦点,如下:

6.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2,MessageBoxOptions.RtlReading) == DialogResult.OK)

{

   //delete

}

反向显示:

7.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign,true) == DialogResult.OK)

{

    //delete

}

添加Help按钮:

8.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading, @"/folder/file.htm") == DialogResult.OK)

{

   //delete

}

指定帮助文件的路径,点击即可打开该路径下的帮助文件

9.//HelpNavigator指定常数来指示要显示的帮助文件元素。Find 帮助文件将打开到搜索页。 

if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading, @"/folder/file.htm", HelpNavigator.Find) == DialogResult.OK)

{

    //delete

}

 二 去掉MessageBox的按钮

      MessageBox包含的按钮有的时候感觉不爽,但是又没有办法去掉,只有自己实现一个myMessageBox了。

       1)新建一个form窗体,然后调整窗体的大小合适(模仿MessageBox)

       2)设置FormBorderStyle 属性,this.FormBorderStyle = system.Windows.Forms.FormBorderStyle.FixedSingle,窗体大小严禁调节

       3)将MinimizeBox和MaxmizeBox分别设置为false,隐藏最小化和最大化按钮(具体见Form窗体controlbox按钮处理)

       4)然后就是自己设置Icon(MessageBox左上角的图标),form的Text属性设置为Warining等

       5)使用label或textbox在适当的位置显示提示文字

      自定义的简陋的MessageBox就可以使用了,至于重载方法等后续随意添加即可。

三 其它参考资料

        微软官方:http://msdn.microsoft.com/zh-cn/library/system.windows.messagebox.show%28v=vs.100%29.aspx

        MessageBox一些参数:http://www.cnblogs.com/txw1958/archive/2012/09/11/csharp-messagebox.html

       Form窗体controlbox按钮处理:http://social.microsoft.com/Forums/zh-CN/4e2238a4-c3df-4f1e-9636-3b7b7f7e1cd1/winform

       B/S 模仿MessageBox(没测试过,相信作者:)):http://cuijinf.blog.163.com/blog/static/259008482010831007478/

 

posted on 2014-06-20 13:42  hhhh2010  阅读(576)  评论(0编辑  收藏  举报