2010-08-07 3 views

Antwort

37

„Gerade die MaxSelectionCount-1, so dass Benutzer gesetzt bekommen kann nicht mehr als einen Tag auswählen. Dann in der SelectionRange.Start.ToString(). Es ist nichts verfügbar, um die Auswahl von nur einem Tag anzuzeigen. " - Justin Etheredge

Von here.

+1

die Eigenschaft ist MonthCalendar.SelectionRange nicht 'SelectedRange' http://msdn.microsoft.com/en-us/library/system.windows.forms.selectionrange.start(v=vs.110).aspx – WhySoSerious

+0

Danke. Die kürzesten Antworten sind die besten. –

-2
+5

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der antworten Sie hier und geben Sie den Link als Referenz an. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – oleksii

+0

@oleksii Bitte versuchen Sie die Antwort zu verstehen, bevor Sie die Review-Kommentar-Vorlage auswählen. Die * wesentlichen Teile der Antwort * sind genau dort im Linktitel. Und ich verlinke nicht direkt auf einen zufälligen Blogeintrag, sondern auf die Dokumentation des Herstellers (* Microsoft *). –

+3

@DanielBeck Es ist immer noch wichtig sicherzustellen, dass die Antworten auf SO eigenständig sind. Links innerhalb von ihnen sollten ergänzend zur Antwort sein, nicht * sein * die Antwort. Dies könnte bedeuten, relevante Abschnitte des Links zu zitieren oder zusammenzufassen oder den Link einfach als Kommentar zu veröffentlichen. Es soll nicht nur verhindern, dass die Links unterbrochen werden, sondern auch verhindern, dass die Leute auf der Suche nach Antworten auf den Run-Around sind. Nichts ist frustrierender, wenn Sie mit einer Antwort verknüpft sind, die auf eine Antwort verweist, die auf eine Antwort verweist, die tatsächlich das hat, was Sie wollen. – Servy

1

Für diejenigen, die immer noch versuchen, half dieser Link mir auch; es bringt einfach alles zusammen:

http://dotnetslackers.com/VB_NET/re-36138_How_To_Get_Selected_Date_from_MonthCalendar_control.aspx

private void MonthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e) 
{ 
//Display the dates for selected range 
Label1.Text = "Dates Selected from :" + (MonthCalendar1.SelectionRange.Start() + " to " + MonthCalendar1.SelectionRange.End); 

//To display single selected of date 
//MonthCalendar1.MaxSelectionCount = 1; 

//To display single selected of date use MonthCalendar1.SelectionRange.Start/ MonthCalendarSelectionRange.End 
Label2.Text = "Date Selected :" + MonthCalendar1.SelectionRange.Start; 
} 
+0

Fix diese Zeile: "MonthCalendar1.SelectionRange.Start()". Weil Start eine Eigenschaft ist und nicht als Methode verwendet werden kann: http://msdn.microsoft.com/en-us/library/system.windows.forms.selectionrange.start (v = vs.110) .aspx – WhySoSerious

5

Ich habe gerade bemerkt, dass, wenn Sie tun:

monthCalendar1.SelectionRange.Start.ToShortDateString() 

Sie nur das Datum (z 1/25/2014) von einer MonthCalendar Kontrolle bekommen.

Es ist gegenüber:

monthCalendar1.SelectionRange.Start.ToString() 

//The OUTPUT will be (e.g. 1/25/2014 12:00:00 AM) 

Da diese MonthCalendar Eigenschaften von Datetime-Typ sind. Siehe msdn und die verfügbaren Methoden zum Konvertieren in eine String-Darstellung. Auch this kann bei der Konvertierung von einem String in ein DateTime-Objekt helfen.

Verwandte Themen