Calendarコントロールで日付を単一選択に設定したとき、既に選択された日付をクリックすることで選択解除する方法はありますか?

文書番号 : 18347     文書種別 : 使用方法     最終更新日 : 2005/07/11
文書を印刷する
対象製品
InputMan for .NET 3.0J
詳細
SelectionModeをOneに設定すると、既に選択された日付をクリックしても選択解除されません。
このような動作を実現するには、SelectionModeをMultiSimpleにし、SelectedDateChangedイベントで、次のように実装します。


【サンプルコード】

[VB.NET]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Calendar1.SelectionMode = SelectionMode.MultiSimple
End Sub

Private Sub Calendar1_SelectedDateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calendar1.SelectedDateChanged
  If Calendar1.Selections.Count > 1 Then
    Calendar1.Selections.RemoveAt(0)
  End If
End Sub

[C#]
private void Form1_Load(object sender, System.EventArgs e)
{
  calendar1.SelectionMode = GrapeCity.Win.Input.SelectionMode.MultiSimple;
}

private void calendar1_SelectedDateChanged(object sender, System.EventArgs e)
{
  if( calendar1.Selections.Count > 1 )
  {
    calendar1.Selections.RemoveAt(0);
  }
}

この文書は、以前は次のFAQ IDで公開されていました : 7578