C 如何使用 ErrorProvider 元件

2021-06-27 06:11:22 字數 2784 閱讀 9128

使用 windows 窗體 errorprovider 元件,可以對窗體或控制項上的使用者輸入進行驗證。當驗證使用者在窗體中的輸入或顯示資料集內的錯誤時,一般要用到該控制項。相對於在訊息框中顯示錯誤資訊,錯誤提供程式是更好的選擇,因為一旦關閉了訊息框,就再也看不見錯誤資訊。errorprovider 元件在相關控制項(如文字框)旁顯示乙個錯誤圖示 (

errorprovider 元件的常用屬性包括:

(1)  blinkrate 屬性:獲取或設定錯誤圖示的閃爍速率(以毫秒為單位),預設為 250 毫秒。

(2)  icon 屬性:獲取或設定錯誤圖示,當為控制項設定了錯誤描述字串時,該圖示顯示在有錯誤的控制項旁邊。

若要獲得最好的效果,請使用大小為 16×16 畫素的圖示。如有必要,可將指定圖示的大小調整為 16×16 畫素。

(3)  blinkstyle 屬性:獲取或設定乙個值,通過該值指示錯誤圖示的閃爍時間。

屬性值是乙個 errorblinkstyle 列舉型別:

成員名稱    

說明 alwaysblink       當錯誤圖示第一次顯示時,或者當為控制項設定了錯誤描

述字串並且錯誤圖示已經顯示時,總是閃爍。

blinkifdifferenterror  圖示已經顯示並且為控制項設定了新的錯誤字串時閃爍。

neverblink 

錯誤圖示從不閃爍。

預設為 blinkifdifferenterror。

errorprovider 元件常用的公共方法包括:

(1)  seterror 方法:設定指定控制項的錯誤描述字串。

該方法的宣告如下:

public void seterror (

control control,

string value

);其中,引數 control 表示要為其設定錯誤描述字串的控制項;引數 value 表示錯誤描述字串。

(2)  seticonalignment 方法:設定錯誤圖示相對於控制項的放置位置。

該方法的宣告如下:

public void seticonalignment (

control control,

erroriconalignment value

);其中,引數 control 是要為其設定圖示位置的控制項。引數 value  是乙個列舉型別erroriconalignment 的值。

成員名稱 

說明 bottomleft 

圖示顯得與控制項的底部和控制項的左邊對齊。

bottomright 

圖示顯得與控制項的底部和控制項的右邊對齊。

middleleft 

圖示顯得與控制項的中間和控制項的左邊對齊。

middleright 

圖示顯得與控制項的中間和控制項的右邊對齊。

topleft 

圖示顯得與控制項的頂部和控制項的左邊對齊。

topright    圖示顯得與控制項的頂部和控制項的右邊對齊。

(3)  seticonpadding 方法:設定指定控制項和錯誤圖示之間應保留的額外空間量。

該方法宣告如下:

public void seticonpadding (

control control,

int padding

);其中,引數 control 是要為其設定空白的控制項;padding 是要在圖示與指定控制項之間新增的畫素數。

很多圖示的中心影象周圍通常都留有多餘的空間,因此只有當需要額外空間時才需要填充值。填充值可以為正,也可以為負。負值將使圖示與控制項的邊緣重疊。

下面的例項主要介紹了如何使用 errorprovider 元件指示窗體上有關錯誤資訊的程式設計技術。例項程式執行後,當使用者兩次密碼的輸入不一致時,會彈出乙個錯誤提示框,並在密碼輸入控制項的右邊顯示乙個紅色的警告圖示,當滑鼠停留在該圖示時,會出現乙個工具提示條顯示相關提示資訊。

具體步驟如下:

(1)  啟動visual studio 2005,新建乙個c# windows應用程式專案。

(2)  在程式設計窗體中新增乙個groupbox控制項,在屬性對話方塊中設定其text屬性為「使用者註冊資訊」;再拖放4個label控制項,在屬性對話方塊中設定其text屬性分別為「請輸入使用者名稱:」、「請輸入使用者密碼:」、「請確認使用者密碼:」、「使用者名稱和密碼長度為6~12位字元或數字」;再拖放3個textbox控制項,在屬性對話方塊中設定其中的2個密碼textbox控制項的passwordchar屬性為「*」。調整其大小適應程式設計窗體的大小。

(3)  新增乙個errorprovider元件,保留其預設屬性值即可。

(4)  新增乙個button控制項,在屬性對話方塊中設定其text屬性為「確認」。

為button控制項的click(滑鼠單擊)事件新增如下**:

private void button1_click(object sender, eventargs e)

} if (this.textbox2.text.length > 12 || this.textbox2.text.length < 6)  }

if (!(this.textbox2.text == this.textbox3.text))  }

} 按 f5 執行例項程式,效果如下圖所示。

C 模板如何使用

模板是c 的高階特性分為 c 標準模板庫 stl 函式模板一般格式 template 型別形式參數列 返回值 函式名 形式引數,template 關鍵字 表示模板引數 兩種 1.型別引數 class typedef 2.非型別引數 一般為常數 includeusing namespace std t...

c 中enum 如何使用

在生活中,列舉的例子隨處可見,比如禮拜幾,那麼就可以作為乙個列舉變數。這個變數所儲存的值,是有限的,且,能被我們所列舉。再比較說,性別。它也可以作為乙個列舉型別,我們知道,性別也就只有 男 或者 女 它是可以被我們所列舉的。它能很直觀的表達出我們所定義的事件。如 定義乙個列舉型別的變數,雖然不知道變...

C 中如何使用TimeSpan

例如 datetime dt1 datetime.now datetime dt2 datetime.now.adddays 7 timespan ts dt1 dt2 int days ts.days dt1和dt2相差多少天 這樣就可以獲取時間差值了。timespan值包含了許多屬性與方法,用於...