由于WinForm自带的DateTimePicker不能设置空值(Null),所以我基于原来的DateTimePicker做了扩展。
若有bug,可反馈,我再修改。
namespace WinFormTest
{
public class DateTimePicker2 : DateTimePicker
{
const string NullableFormat = " ";
bool isSelfSetting;
string originalCustomFormat;
bool originalCustomFormatInitialized;
DateTimePickerFormat? originalFormat;
bool IsNullableState
{
get { return Format == DateTimePickerFormat.Custom && CustomFormat == NullableFormat; }
}
void SetNullable(bool nullable)
{
if (!this.originalFormat.HasValue)
{
this.originalFormat = Format;
}
if (!this.originalCustomFormatInitialized)
{
this.originalCustomFormat = CustomFormat;
this.originalCustomForma