Cách dễ nhất và mạnh mẽ nhất để thay đổi điều khiển .NET DateTimePicker là gì, để cho phép người dùng nhập các giá trị null
?Làm thế nào để thay đổi điều khiển .NET DateTimePicker để cho phép nhập giá trị null?
Trả lời
Đây là một thú vị article on CodeProject. Tác giả đã ghi đè thuộc tính Giá trị để chấp nhận giá trị Null là DateTime.MinValue, trong khi vẫn duy trì việc xác thực MinValue và MaxValue của điều khiển tiêu chuẩn. Đó là tất cả để có nó.
Đặt hộp kiểm bổ sung có gắn nhãn gì đó như "bật thông báo" cho phép/vô hiệu hóa DateTimePicker.
giải pháp Trị đã không khá cắt nó cho tôi và vì vậy đã nghĩ ông Grazioli và ông đã làm một cái gì đó về nó: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
Bạn không cần phải sửa đổi nó để làm điều này.
DateTimePicker
trong .net thực sự có hộp kiểm tích hợp sẵn.
Đặt thuộc tính ShowCheckBox
thành true
.
Sau đó, bạn có thể sử dụng thuộc tính Checked
để xem liệu người dùng đã nhập một giá trị hay chưa.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx
Việc thực hiện hộp kiểm là tất cả các loại thất bại mặc dù. Không kích hoạt sự kiện đúng cách. –
tôi gửi đường dài quanh giải pháp, trong đó có một số kết quả trong các ý kiến mã về những vấn đề đặc biệt với kiểm soát này:
Thiết lập thuộc tính ShowCheckBox là true. Sau đó, bạn có thể sử dụng thuộc tính Checked như sau:
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;
}
}
NullableDateTimePicker
- 1. Cách thay đổi/đặt giá trị DateTimePicker
- 2. Làm cách nào để đọc và thay đổi giá trị của điều khiển TEdit?
- 3. ForeignKey không cho phép giá trị null
- 4. làm thế nào để thay đổi nút XML giá trị
- 5. Làm thế nào để chèn một giá trị NULL
- 6. Thay đổi một cột để không cho phép null
- 7. Làm thế nào để đặt một giá trị DateTimePicker để DateTime.MaxValue
- 8. Làm thế nào tôi có thể không cho phép cột để cho phép null và cho phép Null cột để không cho phép null
- 9. Làm thế nào để thay thế (null) giá trị với 0 đầu ra trong PIVOT
- 10. Làm thế nào để điều trị MAX() của bảng trống như 0 thay vì NULL
- 11. bảng Alter SQL - cho phép giá trị cột NULL
- 12. Thay đổi màu nền của một DateTimePicker trong .NET
- 13. Làm thế nào để sử dụng giá trị RGB riêng để thay đổi Màu Nút Winform?
- 14. Làm thế nào để thay thế các giá trị trống (null) bằng 0 cho tất cả các bản ghi?
- 15. Làm thế nào để chuyển đổi các giá trị null thành chuỗi rỗng trong mảng php?
- 16. Làm cách nào để thay đổi giá trị Hash?
- 17. WPF - Chuyển giá trị của một điều khiển cho Bộ chuyển đổi để đặt độ rộng trên điều khiển khác
- 18. .NET HttpClient. Làm thế nào để POST giá trị chuỗi?
- 19. Làm cách nào để sửa đổi cột MySQL để cho phép NULL?
- 20. django: làm thế nào để thay đổi giá trị cho nullbooleanfield trong một mô hình?
- 21. NSString không thay đổi cho phép thay đổi giá trị của nó?
- 22. Làm thế nào để có được HttpClient Json serializer để bỏ qua các giá trị null
- 23. Làm cách nào để tắt một số ngày trên điều khiển DateTimePicker?
- 24. Làm thế nào để cho phép một bộ điều khiển mà không đặt chú thích trên mỗi bộ điều khiển?
- 25. Làm cách nào để thay đổi giá trị của giá trị Cài đặt.settings
- 26. Làm thế nào để thay thế giá trị trường sql
- 27. Sửa đổi bảng: Cách thay đổi thuộc tính 'Allow Nulls' từ không null để cho phép null
- 28. SingleOrDefault: Làm thế nào để thay đổi các giá trị mặc định?
- 29. Làm cách nào để cho phép quản trị viên django đặt trường thành NULL?
- 30. Làm thế nào để thay đổi giá trị được lưu trữ trong địa chỉ bộ nhớ?
Có ông của Grazoli không thực hiện công việc mặc dù tôi nghĩ rằng ai đó nên xem lại nó và thử và thoát khỏi những WndProc xấu xí gọi – Calanus
Điều khác về mã là nó dường như không làm những gì nó được cho là phải làm. Tôi không biết, có lẽ tôi đã làm sai điều gì đó. Không có nhiều thời gian để chi tiêu xung quanh với nó. Sử dụng ý tưởng của DTPs ShowCheckBox có vẻ hứa hẹn thực sự hơn. – IAbstract
Trong khi giải pháp cho phép người dùng xóa ngày, bạn không thể đặt tiêu điểm cho điều khiển hoặc sử dụng bàn phím để nhập lại ngày không trống. Một bước fwd, hai trở lại. – ChadD