Calendarコントロールで日付を単一選択に設定したとき、既に選択された日付をクリックすることで選択解除する方法はありますか?
対象製品
InputMan for .NET 4.0J Windows Forms Edition
詳細
SelectionModeをOneに設定すると、既に選択された日付をクリックしても選択解除されません。
このような動作を実現するには、SelectionModeをMultiSimpleにし、次のサンプルコードのようにSelectedDateChangedイベントで前に選択された日付をクリアします。
このような動作を実現するには、SelectionModeをMultiSimpleにし、次のサンプルコードのようにSelectedDateChangedイベントで前に選択された日付をクリアします。
[VB]
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
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);
}
}
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);
}
}
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 8398