2014-06-08 58 views
1

在c#Winforms中,我有一個文本框是數據綁定到我的數據庫中的DateTime列。 當我在類似如下到文本框中c#日期時間綁定文本框刪除開始0

1977年5月12日

一旦文本框失去焦點類型,第一個0被移除,使得它說

1977年5月12日。

這是一個問題的原因是因爲我實際上想要使用蒙面文本框,因此/已經在用戶的文本框中。但是,一旦0被刪除,日期被搞砸了,像這樣

21分之51/ 977_

日期仍然可以正確保存,但是這會導致我的一些表單驗證的,因爲它認爲蒙面文本框中不能正常反應因爲沒有完成。任何人都知道一種方法來防止第一個0被刪除?

謝謝!

+0

爲什麼noy使用DatePicker? –

+0

@ClickRick:我不確定你的意思?對於蒙面文本框,格式爲00/00/0000,在數據綁定部分,我只是將其設置爲我的DateTime變量。我使用實體框架,所以我有一個實體類 –

+0

@SyedFarjadZiaZaidi:DatePicker控件是一種笨重的,你不能在沒有後退和第四個箭頭鍵之間鍵入日期,所以我選擇使用蒙面文本框。 –

回答

1

這只是文化信息的問題。由於我的文本框被數據綁定到DateTime變量,我所要做的就是更改DateTime的顯示方式爲字符串。在我的GUI形式的構造函數中的下列代碼修復了問題

var culture = CultureInfo.CurrentCulture.Clone() as CultureInfo; 
culture.DateTimeFormat.ShortDatePattern = "MM/dd/yyyy"; 
System.Threading.Thread.CurrentThread.CurrentCulture = culture; 
相關問題