2017-09-29 15 views
0

C#のWindowsフォームに3つのDatetimeピッカーがあります。 datetimepickersの名前はdtp1、dtp2、dtp3です。 dtp1で日付を選択すると、dtp2のカレンダーを開きます。つまり、dtp2カレンダーが表示されます。私はこのフォーラムとgoogleで検索しましたが、これに対して正しい解決策を見つけることができませんでした。他のdatetimepicker winformsのDateのselectでdatetimepickerのカレンダーを開きます。C#

私は現在、以下のコードを使用してコンボボックスの値の変更にdtp1のカレンダーを開きます。

dtp1.Select(); 
SendKeys.Send("%{DOWN}"); 

しかし、私はdtp1の値が変更されたイベントで同じコードを使用している場合、それはdtp1代わりのdtp2のカレンダーを再オープンします。私はdtp1の値変更イベントで次のことを試しました。

private void dtp1_ValueChanged(object sender, EventArgs e) 
    { 
     listView1.Items.Clear(); 
     listView2.Items.Clear(); 

     dtp2.Select(); //dtp2.Focus(); 
     SendKeys.Send("%{DOWN}"); 
    } 

次のカレンダーを開くときは、次のコントロールから値を選択するようにしてください。どんな助けもありがとう。代わりにValueChangedイベントの

+0

イベントハンドリングを含め、すべての関連コードをここに投稿してください。あなたは明らかにそこにバグを持っています。 – Yarimi

+0

[VB.netプログラマブルにDateTimePickerをドロップダウンする](https://stackoverflow.com/questions/5597880/vb-net-programmably-drop-down-the-datetimepicker) – pinkfloydx33

+0

Select()の代わりにFocus()を使用する)。 –

答えて

0

、クローズアップ

private void dtp1_CloseUp(object sender, EventArgs e) 
{ 
    this.dtp2.Select(); 
    SendKeys.Send("%{DOWN}"); 
} 

を使用するには、それが役に立てば幸い!

関連する問題