0

下午好!WinForms - DateTimePicker Server 2003與Server 2008的默認月份選擇行爲?

是否有人注意到標準WinForms DateTimePicker控件中「下一個」和「上一個」月份箭頭的默認行爲發生了變化?我的用戶都在Windows Server 2003和Windows Server 2008 R2上運行,他們報告說,在2008年(和Vista/Win7)上,單擊下拉日曆上的向右或向左箭頭現在選擇每月的第一天比保留像2003年(和XP)那樣的同一天。

我檢查了這一點(我有一臺Win7機器),我已經證實了這種行爲。我希望只要有可能,行爲就會保持一致。有沒有人知道是什麼原因造成的,如果有辦法解決這個問題?有沒有辦法來捕捉箭頭點擊事件並強制結果日期保留原始日期而不是重置爲月份的第一天?

我想過看看有沒有辦法在MouseUp事件上命中控件並確定是否單擊了箭頭按鈕,然後覆蓋正在設置的月份值,但我不確定這是否是甚至可能。任何人都可以提供一些智慧或見解嗎?謝謝!

回答

2

DateTimePicker是本地Windows控件,.NET類是它的包裝。是的,自Vista以來,該本機控件出現了幾次外觀和感覺的變化。您應該而不是修復行爲,用戶會認爲您的控件具有非標準行爲,因爲它與在該操作系統上運行的不同程序顯示的所有其他行爲不同。

+0

的確足夠了,但是我的用戶基礎很小(只是我工作的公司),而且他們是讓我注意的人。我確實在其他應用程序中使用了DTP,一般的想法是,如果有修復或破解可以做到這一點,那麼我可以爲控件編寫擴展或者將代碼應用到我使用控件的任何地方。 當然,如果沒有解決辦法(我昨天花了相當多的時間嘗試了很多不起作用的東西),那麼他們只需要瞭解(即使我不( - :)。 謝謝,Hans。這確實很有道理。 – 2010-05-23 12:25:31

+0

是的,沒有什麼好的方法可以解決這個問題。由於月份日曆的子分類困難,MCN_SELCHANGE消息不會讓你發現如何改變選擇的日期每個人都會停止抱怨,當他們切換到Win7 – 2010-05-23 13:28:44

+0

我也注意到,ComboBox的默認行爲也改變了,以及在下拉模式下,曾經是你可以選擇你想要的物品使用文本搜索或箭頭鍵,然後在仍然下拉的情況下退出控件,並使值保持您所導航的值。現在,如果您未按Enter鍵接受該值,它會在選項卡中選擇下一個。去搞清楚... – 2010-07-02 12:12:11

相關問題