最近一直用到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/

c# MessageBox使用的更多相关文章

  1. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  2. MessageBox.Show()的各种用法

    [函数] <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon); [函 ...

  3. 简单的 MessageBox

    有时候我们只是想实现一个消息框,给用户一些文字提醒,就像javascript的alert那样.没必要因此动用那些庞大的GUI库,下面是几种轻快的实现方法. 1. ctypes import ctype ...

  4. 自定义类似MessageBox小窗体操作

    1.实际小窗体界面如下 2.代码如下 private void InputBox(string caption,string orderNo) { Form InputForm = new Form( ...

  5. Windows8 UI MessageBox In DevExpress

    // custom messagebox using System; using System.Drawing; using System.Windows.Forms; using DevExpres ...

  6. MessageBox的常用方法

    一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄, ...

  7. C# MessageBox常用用法

    if(MessageBox.Show("message", "title", MessageBoxButtons.OKCancel,MessageBoxIcon ...

  8. C#中MessageBox用法大全

    我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~&quo ...

  9. winform中messageBox七个参数的使用(转载)

    private void button1_Click(object sender, EventArgs e) { MessageBox.Show(" 1 个参数 ”); } private ...

  10. c# MessageBox 用法大全

    我们在程序中经常会用到MessageBox. 1.MessageBox.Show("Hello~~~~"); 最简单的,只显示提示信息. 2.MessageBox.Show(&qu ...

随机推荐

  1. chrome比较好用的网站整页(超长网页)截图插件

    chrome比较好用的网站整页(超长网页)截图插件:fireshot capture 试用过比较好用

  2. 手机App开发

    /* * 登录:输入 */ public void login(String user, String pwd, TextHttpResponseHandler responsehandler) { ...

  3. ASIHttpRequest addRequestHeader的处理

    我现在用到了ASIHttpRequest来读取数据,这时候我发现里面的头在很多时候都是一样的.如用户的令牌,设备类型,ios版本,软件版本等 [self.request addRequestHeade ...

  4. 创建UIImage的两种方法

    1. UIImage *img = [UIImage imageNamed:@"imageName"]; 2. NSString *imageFilePath = [[NSBund ...

  5. LintCode "Submatrix Sum"

    Naive solution is O(n^4). But on 1 certain dimension, naive O(n^2) can be O(n) by this well-known eq ...

  6. Python 处理多层嵌套列表

    >>> movies =[ "the holy grail", 1975,"terry jones",91, ["graham ch ...

  7. android学习笔记七——控件(DatePicker、TimePicker、ProgressBar)

    DatePicker.TimePicker ==> DatePicker,用于选择日期 TimePicker,用于选择时间 两者均派生与FrameLayout,两者在FrameLayout的基础 ...

  8. 71. Simplify Path

    Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...

  9. class 文件与dex文件区别 (dvm与jvm区别)及Android DVM介绍

    区别一:dvm执行的是.dex格式文件  jvm执行的是.class文件   android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和 ...

  10. iphone Dev 开发实例8: Parsing an RSS Feed Using NSXMLParser

    From : http://useyourloaf.com/blog/2010/10/16/parsing-an-rss-feed-using-nsxmlparser.html Structure o ...