2011-10-23 來自:cnblogs 字型大小:【 大中
小】 本文主要介紹的是乙個自己編寫的,類似messagebox訊息對話方塊的自定義控制項。這個控制項不是重寫messagebox類,完全是參照messagebox的功能,並在此的基礎上砍掉了一部分功能,如iower;但是,因為有原始碼,我們自己完全可以定義這個訊息對話方塊顯示的文字,,按鈕,尺寸等等。極大的方便了我們在特殊情況下,需要一些另類的訊息對話方塊。
首先,我們來看一下這個自定義控制項的訪問介面:msgbox.cs,這個類提供了一系列過載的靜態方法show,並通過不同的引數個數和型別,控制訊息對話方塊外觀和內容,**如下:
1///2
///顯示包含文字,按鈕,圖示內的訊息對話方塊
3///
4public
class msgbox
5
23///
24///
顯示可包括文字,符號和按鈕的訊息框
25///
26///
文字27
///標題
28///
結果29
public
static msgboxdialogresult show(string text,string caption)
30
3334
///35
///顯示可包括文字,符號和按鈕的訊息框
36///
37///
文字38
///標題
39///
按鈕40
///結果
41public
static msgboxdialogresult show(string text, string caption, msgboxbuttons buttons)
42
45///
46///
顯示可包括文字,符號和按鈕的訊息框
47///
48///
文字49
///標題
50///
按鈕51
///圖示
52///
結果53
public
static msgboxdialogresult show(string text, string caption, msgboxbuttons buttons, msgboxicon icon)
54
62 }
1下面,我們來看最重要的乙個部分,訊息對話方塊:dialogform窗體://摘要:2//
指定若干常數,用以定義 system.windows.forms.messagebox 上將顯示按鈕的文字
3 [comvisible(true)]
4internal
class msgboxbuttontext
5
3132
//摘要:
33//
指定識別符號以指示對話方塊的返回值。
34 [comvisible(true)]
35public
enum msgboxdialogresult
36
6970
71//
摘要:72
//指定定義哪些資訊要顯示的常數。
73 [comvisible(true)]
74public
enum msgboxicon
75
109110
//摘要:
111//
指定若干常數,用以定義 system.windows.forms.messagebox 上將顯示哪些按鈕
112 [comvisible(true)]
113public
enum msgboxbuttons
114
在這個窗體中,我們定義各種控制項,並給他們的屬性賦上有意義且正確的值,比如:要顯示訊息的內容,那麼就需要lable或textbox控制項,並設定它們的font,localtion,text,name等屬性;要獲取選擇的結果,需要乙個或數個按鈕控制項;在特定條件下,某個控制項的某個事件是否會觸發另外乙個事件等等。設定好某乙個新建的控制項的所有屬性後,將其新增到乙個容器中;所有控制項都建立並新增到容器中後,再將窗體顯示出來,這就是我們看到的訊息對話方塊。下面的**是建立按鈕的方法:
1//2最後,完成了msgbox這個自定義控制項後,就可以將它新增工具箱中,用於其他專案了,使用方式跟messagebox類似。///設定按鈕
3///
4///
需產生的按鈕組
5private
void setbutton(msgboxbuttons buttons)
6
28break;
29case msgboxbuttons.okcancel:
30
57break;
58case msgboxbuttons.yesno:
59
85break;
86case msgboxbuttons.yesnocancel:
87
125break;
126case msgboxbuttons.abortretryignore:
127
166break;
167case msgboxbuttons.retrycancel:
168
194break;
195case msgboxbuttons.okcopy:
196
222break;
223default:
224
237break;
238 }
239 }
240#endregion
1 msgbox.show("執行結果如下圖所示:程式已崩潰,請重啟!
", "
系統崩潰
", msgboxbuttons.okcancel, msgboxicon.sysbreak);
2 msgbox.show("
密碼錯誤!
", "
錯誤", msgboxbuttons.ok, msgboxicon.error);
3 msgbox.show("
您確定要退出系統?
", "
警告", msgboxbuttons.yesno, msgboxicon.warning);
實現自定義訊息對話方塊控制項MsgBox簡介
2011 10 23來自 cnblogs字型大小 大中 小 本文主要介紹的是乙個自己編寫的,類似messagebox訊息對話方塊的自定義控制項。這個控制項不是重寫messagebox類,完全是參照messagebox的功能,並在此的基礎上砍掉了一部分功能,如iower 但是,因為有原始碼,我們自己完...
自定義對話方塊
public void normaldialog 對話方塊的 private dialoginte ce.onclicklistener mydialoglistener new dialoginte ce.onclicklistener alertdialog.builder對話方塊沒有類似fin...
自定義訊息對話方塊基於Dialog
region 訊息對話方塊 public class messageboxex extform this.topmost true this.formborderstyle formborderstyle.none this.visible false this.width screen.prima...