簡體   English   中英

數據綁定Winforms文本框

[英]Databinding Winforms Textbox

簡而言之,這種數據綁定正常工作

tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue");

也就是說,當我輸入一個無效值 - 就像空字符串 - 然后選項卡中的TB一樣,其中的值只是恢復到之前的值。 這是有道理的,因為輸入的值不會進入decimal類型的object屬性。 不幸的是,這些數據綁定中的任何一個:

tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue", true, DataSourceUpdateMode.OnPropertyChanged, 0, "C");
tbTotalTaxDue.DataBindings.Add("Text", I, "TotalTaxDue", true, DataSourceUpdateMode.OnValidation, 0, "C");

行為方式不同,當用戶輸入空字符串時,輸入將不會讓用戶選項卡退出文本框。 有沒有辦法讓數據綁定顯示為貨幣,但只是取消任何無效的編輯?

你有幾個選擇:

  1. 子類TextBox並覆蓋OnValidating事件。 如果Text為空,請在調用MyBase.OnValidating()之前退出以禁止該事件。

  2. TextBox上設置CausesValidation = False ,並處理TextChanged事件。 如果Text不為空,請手動驗證它。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM