C# WinForm 中 MessageBox的使用详解 (2)
91
92
93
94
95
96
private void button8_Click(object sender, EventArgs e)
97
{
98
MessageBox.Show(" 7 个参数。帮助菜单 可用。 ",
99
" 亮仔提示",
100
MessageBoxButtons.OKCancel,
101
MessageBoxIcon.Warning,
102
MessageBoxDefaultButton.Button2,
103
MessageBoxOptions.RightAlign , // 要使用默认风格,此处参数可设为 0
104
@"C:\Documents and Settings\Administrator\桌面\新建文本文档.txt"
105
);
106
}
107
108
109
110 1.
1个参数。
111 MessageBox.Show(string text);
112 //
显示具有指定文本的消息框。
113 // 参数:text:
要在消息框中显示的文本。
114 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
115
116 2.
2个参数。
117 MessageBox.Show(string text, string caption);
118 //
显示具有指定文本和标题的消息框。
119 // 参数:
120 // text:
要在消息框中显示的文本。
121 // caption:
要在消息框的标题栏中显示的文本。
122 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
123
124 3.
3个参数。
125 MessageBox.Show(string text, string caption, MessageBoxButtons buttons);
126 //
显示具有指定文本、标题和按钮的消息框。
127 // 参数:
128 // text:
要在消息框中显示的文本。
129 // caption:
要在消息框的标题栏中显示的文本。
130 // buttons:
System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
131 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
132 // 异常:
133 //System.ComponentModel.InvalidEnumArgumentException:
指定的 buttons 参数不是 System.Windows.Forms.MessageBoxButtons 的成员。
134 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示 System.Windows.Forms.MessageBox。这是由 System.Windows.Forms.SystemInformation.UserInteractive 属性指定的。
135
136 4.
4个参数。
137 MessageBox.Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon);
138 //
显示具有指定文本、标题、按钮和图标的消息框。
139 // 参数:
140 // text:
要在消息框中显示的文本。
141 // caption:
要在消息框的标题栏中显示的文本。
142 // buttons:
System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
143 // icon:
System.Windows.Forms.MessageBoxIcon 值之一,它指定在消息框中显示哪个图标。
144 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
145 // 异常:
146 // System.ComponentModel.InvalidEnumArgumentException:
指定的 buttons 参数不是 System.Windows.Forms.MessageBoxButtons 的成员。- 或 - 指定的 icon24参数不是 System.Windows.Forms.MessageBoxIcon 的成员。
147 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示 System.Windows.Forms.MessageBox。这是由 System.Windows.Forms.SystemInformation.UserInteractive属性指定的。
148
149 5.
5个参数。
150 MessageBox.Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton);
151 //
显示具有指定文本、标题、按钮、图标和默认按钮的消息框。
152 // 参数:
153 // text:
要在消息框中显示的文本。
154 // caption:
要在消息框的标题栏中显示的文本。
155 // buttons:
System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
156 // icon:
System.Windows.Forms.MessageBoxIcon 值之一,它指定在消息框中显示哪个图标。
157 // default Button:
System.Windows.Forms.MessageBoxDefaultButton 值之一,可指定消息框中的默认按钮。
158 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
159 // 异常:
160 // System.ComponentModel.InvalidEnumArgumentException:
buttons 不是 System.Windows.Forms.MessageBoxButtons 的成员。- 或 - icon 不是 System.Windows.Forms.MessageBoxIcon的成员。- 或 - defaultButton 不是 System.Windows.Forms.MessageBoxDefaultButton 的成员。
161 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示 System.Windows.Forms.MessageBox。这是由 System.Windows.Forms.SystemInformation.UserInteractive属性指定的。
162
163 6.
6个参数。
164 MessageBox.Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon,MessageBoxDefaultButton defaultButton, MessageBoxOptions options);
165 //
显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框。
166 // 参数:
167 // text:
要在消息框中显示的文本。
168 // caption:
要在消息框的标题栏中显示的文本
169 // buttons: System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
170 // icon:
System.Windows.Forms.MessageBoxIcon 值之一,它指定在消息框中显示哪个图标。
171 // defaultButton:
System.Windows.Forms.MessageBoxDefaultButton 值之一,可指定消息框中的默认按钮。
172 // options:
System.Windows.Forms.MessageBoxOptions 值之一,可指定将对消息框使用哪些显示和关联选项。若要使用默认值,请传入0。
173 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
174 // 异常:
175 // System.ComponentModel.InvalidEnumArgumentException:
buttons 不是 System.Windows.Forms.MessageBoxButtons 的成员。- 或 - icon 不是 System.Windows.Forms.MessageBoxIcon的成员。- 或 - 指定的 defaultButton 不是 System.Windows.Forms.MessageBoxDefaultButton的成员。
176 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示 System.Windows.Forms.MessageBox。这是由System.Windows.Forms.SystemInformation.UserInteractive属性指定的。
177 // System.ArgumentException:
options 同时指定了System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly 和System.Windows.Forms.MessageBoxOptions.ServiceNotification。- 或 - buttons42指定了无效的System.Windows.Forms.MessageBoxButtons 组合。
178
179 7.
7个参数一。
180 MessageBox.Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon,MessageBoxDefaultButton defaultButton, MessageBoxOptions options, bool displayHelpButton);
181 //
显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。
182 // 参数:
183 // text:
要在消息框中显示的文本。
184 // caption:
要在消息框的标题栏中显示的文本。
185 // buttons:
System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
186 // icon:
System.Windows.Forms.MessageBoxIcon 值之一,它指定在消息框中显示哪个图标。
187 // defaultButton:
System.Windows.Forms.MessageBoxDefaultButton 值之一,可指定消息框中的默认按钮。
188 // options:
System.Windows.Forms.MessageBoxOptions 值之一,可指定将对消息框使用哪些显示和关联选项。若要使用默认值,请传入0。
189 // helpButton:
如果显示“帮助”按钮,则为 true;否则为 false。默认为 false。
190 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
191 // 异常:34
192 // System.ComponentModel.InvalidEnumArgumentException:
buttons 不是 System.Windows.Forms.MessageBoxButtons 的成员。- 或 - icon 不是 System.Windows.Forms.MessageBoxIcon的成员。- 或 - 指定的 defaultButton 不是 System.Windows.Forms.MessageBoxDefaultButton的成员。
193 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示 System.Windows.Forms.MessageBox。这是由System.Windows.Forms.SystemInformation.UserInteractive属性指定的。
194 // System.ArgumentException:
options 同时指定了System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly 和System.Windows.Forms.MessageBoxOptions.ServiceNotification。- 或 - buttons指定了无效的 System.Windows.Forms.MessageBoxButtons 组合。
195
196 8. 7个参数二
197 MessageBox.Show(string text, string caption, MessageBoxButtons buttons,MessageBoxIcon icon, MessageBoxDefaultButton defaultButton,MessageBoxOptions options, string helpFilePath);
198 //
使用指定的帮助文件显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。
199 // 参数:
200 // text:
要在消息框中显示的文本。
201 // caption:
要在消息框的标题栏中显示的文本。
202 // buttons:
System.Windows.Forms.MessageBoxButtons 值之一,可指定在消息框中显示哪些按钮。
203 // icon:
System.Windows.Forms.MessageBoxIcon 值之一,它指定在消息框中显示哪个图标。
204 // defaultButton:
System.Windows.Forms.MessageBoxDefaultButton 值之一,可指定消息框中的默认按钮。
205 // options:
System.Windows.Forms.MessageBoxOptions 值之一,可指定将对消息框使用哪些显示和关联选项。若要使用默认值,请传入0。
206 // helpFilePath:
用户单击“帮助”按钮时显示的“帮助”文件的路径和名称。
207 // 返回结果:
System.Windows.Forms.DialogResult 值之一。
208 // 异常:
209 // System.ComponentModel.InvalidEnumArgumentException:
buttons 不是 System.Windows.Forms.MessageBoxButtons 的成员。- 或 - icon 不是System.Windows.Forms.MessageBoxIcon的成员。- 或 - 指定的 defaultButton 不是System.Windows.Forms.MessageBoxDefaultButton的成员。
210 // System.InvalidOperationException:
试图在运行模式不是用户交互模式的进程中显示System.Windows.Forms.MessageBox。这是由System.Windows.Forms.SystemInformation.UserInteractive属性指定的。
211 // System.ArgumentException:
options 同时指定了System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly 和System.Windows.Forms.MessageBoxOptions.ServiceNotification。- 或 - buttons指定了无效的 System.Windows.Forms.MessageBoxButtons 组合。
212
213
214
215
216
217 下面对C#中的预编译指令进行介绍:
218 1.#define和#undef
219 用法:
220
#define DEBUG
221
#undef DEBUG
222
#define告诉编译器,我定义了一个DEBUG的一个符号,他类似一个变量,但是它没有具体的值,可以将它看为一个符号而已。#undef就是删除这个符号的定义。如果符号DEBUG没定义过,则#undef不起作用,否则#define不起作用。二者都必须放在源代码之前。二者的顺序看代码的顺序:
223
#define DEBUG
224
#undef DEBUG
225
这样的话,DEBUG是没有定义的,如果二者换个顺序,编译器就认为DEBUG被定义了
226 2.#if、#elif、#else、#endif
227
这个告诉编译器进行编译代码的流程控制。考虑下面代码:
228
#if DEBUG
229
Console.Write("debug");
230
#elif RELEASE
231
Console.Write("release");
232
#else
233
Console.Write("other");
234
#endif
235
以上代码就是说如果定义了DEBUG则输出debug,定义了RELEASE,则输出realse,否则输出other。如果定义了DEBUG和REALSE会怎么样呢?各位可以自己试一下。
236 3.#warning、#error
237
通过这两个指定可以告诉编译器,出一个警告还是错误信息。除了错误信息以后,编译将停止。
238
参考下面的代码(C#在Debug状态下自动定义DEBUG标志,但Release状态不会自动定义RELEASE标志):
239
#if DEBUG
240
#warning 现在是Debug状态
241
#elif RELEASE
242
#warning 现在是Release状态
243
#else
244
#error 并清楚什么状态
245
#endif
246 4.#region 和#endregion
247
这个两个用来组成代码块
248 5.#line
249
这个指令可以改变编译器在警告和错误信息中显示的文件名和行号信息,用#line default把行号恢复为默认的行号。
250
#line [ number ["file_name"] | default ]
251
number
252
要为源代码文件中后面的行指定的编号。
253
"file_name"(可选)
254
希望出现在编译器输出中的文件名。默认情况下,使用源代码文件的实际名称。文件名必须括在双引号 ("") 中。
255
default
256
重置文件中的行编号。
257
备注
258
#line 可能由生成过程中的自动中间步骤使用。例如,如果中间步骤从原始的源代码文件中移除行,但是您仍希望编译器基于文件中的原始行号生成输出,则可以移除行,然后用 #line 模拟原始行号。
259
下面的示例说明如何报告与行号关联的两个警告。#line 200 指令迫使行号为 200(尽管默认值为 #7)。另一行 (#9) 作为默认 #line 指令 的结果跟在通常序列后。
260 示例1:
261
// preprocessor_line.cs
262
public class MyClass2
263
{
264
public static void Main()
265
{
266
#line 200
267
int i;
// line 200
268
#line default
269
char c; // line 9
270
}
271
}
272 示例2:
273
下面的示例说明调试器如何忽略代码中的隐藏行。运行此示例时,它将显示三行文本。但是,当设置如示例所示的断点并按 F10 键逐句通过代码时,您将看到调试器忽略了隐藏行。另请注意,即使在隐藏行上设置断点,调试器仍会忽略它。
274
// preprocessor_linehidden.cs
275
using System;
276
class MyClass
277
{
278
public static void Main()
279
{
280
Console.WriteLine("Normal line #1."); // Set a break point here.
281
#line hidden
282
Console.WriteLine("Hidden line.");
283
#line default
284
Console.WriteLine("Normal line #2.");
285
}
286
}
287 6.#pragma
288
可以抑制或恢复指定的编译警告。与命令行选项不同,#pragma指令可以在类和方法上执行,对抑制什么警告和抑制的时间进行更精细的控制。
289
#pragma warning disable 169
290
public class Aclass
291
{
292
int nFiled;
293
}
294
#pragma warning restore 169
内容版权声明:除非注明,否则皆为本站原创文章。