Jaki jest najprostszy i najbardziej niezawodny sposób zmiany formantu .NET DateTimePicker, aby umożliwić użytkownikom wprowadzanie wartości null
?Jak zmienić formant .NET DateTimePicker, aby umożliwić wprowadzanie wartości pustych?
Odpowiedz
Oto interesująca article on CodeProject. Autor ma zastąpioną właściwość Wartość, aby zaakceptować wartość Null jako DateTime.MinValue, zachowując walidację MinValue i MaxValue standardowej kontroli. To wszystko.
Umieszczenie dodatkowego pola wyboru oznaczonego jako "włącz powiadomienia", które włącza/wyłącza narzędzie DateTimePicker.
rozwiązanie Tri za nie dość cut to dla mnie i tak myślał Pan Grazioli i zrobił coś o tym: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
Nie trzeba go zmodyfikować, aby to zrobić.
Model DateTimePicker
w .net ma wbudowane pole wyboru.
Ustaw właściwość ShowCheckBox
na true
.
Następnie można użyć właściwości Checked
, aby sprawdzić, czy użytkownik wprowadził wartość.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx
Implementacja tego pola wyboru jest jednak wszelkiego rodzaju niepowodzeniem. Nie powoduje odpowiednich zdarzeń. –
Zamieściłem moją długą drogę rozwiązania, które ma pewne ustalenia w komentarzach kodów dotyczących specyficznych zagadnień z tej kontroli:
ustawić właściwość ShowCheckBox true. Następnie można użyć sprawdzonej właściwość następująco:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
DateTimePicker thisDateTimePicker = (DateTimePicker)sender;
if (thisDateTimePicker.Checked == false)
{
thisDateTimePicker.CustomFormat = @" "; //space
thisDateTimePicker.Format = DateTimePickerFormat.Custom;
}
else
{
thisDateTimePicker.Format = DateTimePickerFormat.Short;
}
}
- 1. Jak zmienić/ustawić wartość DateTimePicker
- 2. Get XPath(), aby powrócić pustych wartości
- 3. Jak zmodyfikować moją klasę kolejki, aby umożliwić użytkownikom tworzenie pustych kolejek o nieokreślonym typie w F #?
- 4. Oracle zmiany indeksu, aby umożliwić indeks wartości null
- 5. Jak zmienić XML, aby używać tagów pustych elementów?
- 6. AutoFac: Wprowadzanie wartości NULL
- 7. Jak ustawić wartość DateTimePicker aby parametr DateTime.MaxValue
- 8. Jak ustawić fokus na formant po sprawdzeniu poprawności w .NET
- 9. Jsoup WhiteList, aby umożliwić komentarze
- 10. Buforowanie i formant WebBrowser w .Net
- 11. Jak zdefiniować XSD, aby umożliwić każdy element
- 12. Jak oszukać shebang, aby umożliwić wiele parametrów?
- 13. Czy można załadować formularz .Net jako formant?
- 14. Jak obsługiwać formularz datetimepicker okna ArgumentOutOfRangeException?
- 15. wyrażenie regularne, aby umożliwić tylko cyfry w przedziale 1-20
- 16. Jak poprosić BeanUtils o zignorowanie wartości pustych
- 17. Jak uzyskać poprzednią wartość dla wartości pustych
- 18. Podwójne kliknięcie wyłączona wybierz opcję, aby umożliwić
- 19. Zmień kulturę DateTimePicker dla .Net Specjalnie perskiego kalendarza
- 20. Jak zmodyfikować istniejący kontroler UIViewController, aby umożliwić przewijanie?
- 21. DateTimePicker nigdy nie aktualizuje!
- 22. Jak obsługiwać/null pustych wartości w JsonConvert.DeserializeObject
- 23. Jak mogę uczynić DateTimePicker wyświetlić pusty ciąg?
- 24. Jak umożliwić łamanie "System.NullReferenceException" w VS2010?
- 25. Jak korzystać DateTimePicker wiążący w WPF
- 26. Jak skonfigurować niejawną konwersję, aby umożliwić arytmetykę między typami liczbowymi?
- 27. Jak zmienić wartości skrótu?
- 28. Skompiluj C, aby umożliwić przepełnienie bufora
- 29. Wprowadzanie wartości niemożliwej do zniesienia zerowania
- 30. DateTimePicker wiążące kwestie
Tak pana Grazoli za NullableDateTimePicker ma wykonać zadanie, chociaż myślę, że ktoś powinien to sprawdzić i spróbować pozbyć się tych brzydkich WndProc zwraca – Calanus
Inna rzecz o kodzie jest to, że nie robił tego, co powinien. Nie wiem, może robiłem coś złego. Nie masz za dużo czasu, żeby spędzić z nim zamieszanie. Korzystanie z DTP Idea ShowBox wydaje się bardziej obiecująca. – IAbstract
Podczas gdy rozwiązanie pozwala użytkownikowi wyczyścić datę, nie można już ustawić fokusa na kontrolkę lub użyć klawiatury, aby ponownie wprowadzić datę inną niż null. Jeden krok w przód, dwa w tył. – ChadD