2012-03-08 12 views
0

DateTimePickerコントロールを使用するWinFormsアプリケーションを作成しています。私の開発マシンはWindows 7マシンです。コントロールは問題なく動作します。しかし、このWinFormをXPマシンにデプロイし、DateTimePickerコントロールを使用しようとすると、カレンダーが開きますが、日付を選択すると、カレンダーは私の開発マシンと同じように消えません。DateTimePicker Windows XPで正しく動作しないC#が発生する

これを修正する方法についてアドバイスしてください。

ありがとうございます。 DateTimePickerコントロールから値を選択する際

これは私がやっているすべてです:

private void dateTimePickerStartDate_ValueChanged(object sender, EventArgs e) 
     { 
      dateTimePickerStartDate.Format = DateTimePickerFormat.Long; 
     } 

     private void dateTimePickerEndDate_ValueChanged(object sender, EventArgs e) 
     { 
      dateTimePickerEndDate.Format = DateTimePickerFormat.Long; 
     } 
+1

なぜ値の変化に書式を設定しますか?あなたはそれを一度だけ行う必要がありますよね? – Jodrell

+0

フォームロード時に私はこれをやっているので、私はこれをやっている: dateTimePickerEndDate.Format = DateTimePickerFormat.Custom; dateTimePickerEndDate.CustomFormat = ""; dateTimePickerStartDate.Format = DateTimePickerFormat.Custom; dateTimePickerStartDate.CustomFormat = ""; もし私がしなければ、今日の日付がフィールドに入力され、私はそれを望んでいません。空のフィールドが必要です。 – johnnie

+0

どちらのマシンも最新ですか?少なくともすべてのDotnetコンポーネント。 – Adrian

答えて

0

私は最終的にこれを解決しました!何らかの理由でXPは、このコード行を好きに縫い目はありません:

dateTimePickerStartDate.Format = DateTimePickerFormat.Long; 
dateTimePickerEndDate.Format = DateTimePickerFormat.Long; 

あなたが長いXPにあなたのDateTimePickerの書式を設定するのであれば、日付の選択にカレンダーを閉じません。 (あなたが長い形式を使用する場合)、これにあなたのDateTimePickerの書式をこのセットを解決するために

dateTimePickerStartDate.Format = DateTimePickerFormat.Custom;  
dateTimePickerStartDate.CustomFormat = "dd MMMM yyyy"; 

dateTimePickerEndDate.Format = DateTimePickerFormat.Custom;  
dateTimePickerEndDate.CustomFormat = "dd MMMM yyyy"; 
関連する問題