C# WinForm 中 MessageBox的使用詳解


  1 private void button1_Click(object sender, EventArgs e)
  2         {
  3             MessageBox.Show("  1  個參數 "
  4                 );
  5         }
  6

                     
  7  
  8  
  9  
 10         private void button2_Click(object sender, EventArgs e)
 11         {
 12             MessageBox.Show(" 2 個參數。。 ",
 13                                  "亮仔提示"
 14                                  );
 15         }
 16                                        
 17 

 18  
 19  
 20 
 21  
 22         private void button3_Click(object sender, EventArgs e)
 23         {
 24             MessageBox.Show(" 3 個參數。。。 ",
 25                                 " 亮仔提示",
 26                                 MessageBoxButtons.YesNoCancel
 27                                 );
 28         } 
 29                                        
 30  
 31  
 32  

 33 
 34         private void button4_Click(object sender, EventArgs e)
 35         {
 36             MessageBox.Show(" 4 個參數。。。  ",
 37                                 " 亮仔提示",
 38                                 MessageBoxButtons.OKCancel,
 39                                 MessageBoxIcon.Warning
 40                                 );
 41         }
 42                                        
 43  
 44  

 45  
 46  
 47  
 48         private void button5_Click(object sender, EventArgs e)
 49         {
 50             MessageBox.Show(" 5 個參數。。 。  ",
 51                                 " 亮仔提示",
 52                                 MessageBoxButtons.OKCancel,
 53                                 MessageBoxIcon.Warning,
 54                                 MessageBoxDefaultButton.Button2
 55                                 );
 56         }
 57                                        
 58  
 59  

 60  
 61  
 62  
 63         private void button6_Click(object sender, EventArgs e)
 64         {
 65             MessageBox.Show(" 6 個參數。。。  ",
 66                                 " 亮仔提示",
 67                                 MessageBoxButtons.OKCancel,
 68                                 MessageBoxIcon.Warning,
 69                                 MessageBoxDefaultButton.Button2,
 70                                 MessageBoxOptions.RtlReading      //ServiceNotification//.RightAlign   // 標題向右對齊。
 71                                 );
 72         }

 73                                        
 74  
 75  
 76  
 77  
 78 
 79         private void button7_Click(object sender, EventArgs e)
 80         {
 81             MessageBox.Show(" 7 個參數。。幫助菜單不可用。。。。。  ",
 82                                 " 亮仔提示",
 83                                 MessageBoxButtons.OKCancel,
 84                                 MessageBoxIcon.Warning,
 85                                 MessageBoxDefaultButton.Button2,
 86                                 MessageBoxOptions.RightAlign,
 87                                 true   // 標題向右對齊。。。。。                                );
 88         }
 89                                        
 90

 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM