今天發現一個奇怪的問題(也許.net老手們早已知道):將DateTimePicker控件放在TabPage控件之中,如果當前的TabPage不是可見的(不是被選中的),此時如果想通過.Text屬性來賦值的話,Value是被正確的賦值了,但通過.Text是取不到值的。實在奇怪。
從一個臺灣BLOG中找到了相關的信息:經過與微軟工程師的溝通,說這是OS本身的問題,因爲該控件是使用的系統本身的機能,應該是由於的賦值時,該控件的句柄沒有生成。
只要在賦值前,使用加入如下代碼:
IntPtr p = dateTimePicker1.Handle;
取得一個其句柄,再賦值就正常了。具體原因偶也沒有搞明白。