现在作一个项目,遇到一个比较幼稚但又解决不了的问题:
客户要求FORM上的一个DateTimePicker的初始值为空
以前从没有这样用过,查了一下资料也一无所获
有一种方法是在DateTimePicker控件上设置一个CHECKBOX复选框
初始化时为未选中,则设置为空值,选中则为当前值
但这种方法一来不直观,二来客户不愿接受
所以请教高手,有没有直接把初始值置空的方法
谢谢各位啦
11 个解决方案
#1
设置Text属性为空
#2
關注,我也遇到這個問題。
最後我跟用戶說,解決不了,現在也沒解決
最後我跟用戶說,解決不了,現在也沒解決
#3
设置Text属性为空
不行
不行
#4
13. 如何使没有选择日期的DateTimePicker控件为空文本?(How to make the DateTimePicker show empty text if no date is selected?)
dateTimePicker1.CustomFormat = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
#5
设置Text属性为空
#6
设置DateTimePicker.ShowCheck=True。
这是最简单合理的了,用户不愿接受说明他对Windows不熟悉,因为这是控件的标准用法。
这是最简单合理的了,用户不愿接受说明他对Windows不熟悉,因为这是控件的标准用法。
#7
DateTimePicker.ShowCheckBox=True
#8
用第三方控件可以!我以前用过,好像叫DevExpress,很好用的,自己在网上找找!
或者自己写一个控件,textbox+DateTimePicker!
或者自己写一个控件,textbox+DateTimePicker!
#9
class myPicker : DateTimePicker
{
TextBox dateText = null;
public myPicker()
{
dateText = new TextBox();
dateText.Text = "设置时间";
dateText.BorderStyle = BorderStyle.None;
dateText.Width = this.Width - 20;
dateText.Dock = DockStyle.Left;
dateText.Leave += new EventHandler(dateText_Leave);
this.Controls.Add(dateText);
}
void dateText_Leave(object sender, EventArgs e)
{
this.Text = dateText.Text;
}
protected override void OnCloseUp(EventArgs eventargs)
{
dateText.Text = this.Value.ToShortDateString();
//base.OnCloseUp(eventargs);
}
public override string Text
{
get
{
return this.dateText.Text;
}
set
{
DateTime tmp = new DateTime();
if (DateTime.TryParse(value, out tmp))
{
this.Value = tmp;
}
else
{
dateText.Text = "时间格式有误!" ;
//dateText.Text = DateTime.Now.ToShortDateString() ;
}
}
}
}
我有一个现存的,自已再修改一下吧
{
TextBox dateText = null;
public myPicker()
{
dateText = new TextBox();
dateText.Text = "设置时间";
dateText.BorderStyle = BorderStyle.None;
dateText.Width = this.Width - 20;
dateText.Dock = DockStyle.Left;
dateText.Leave += new EventHandler(dateText_Leave);
this.Controls.Add(dateText);
}
void dateText_Leave(object sender, EventArgs e)
{
this.Text = dateText.Text;
}
protected override void OnCloseUp(EventArgs eventargs)
{
dateText.Text = this.Value.ToShortDateString();
//base.OnCloseUp(eventargs);
}
public override string Text
{
get
{
return this.dateText.Text;
}
set
{
DateTime tmp = new DateTime();
if (DateTime.TryParse(value, out tmp))
{
this.Value = tmp;
}
else
{
dateText.Text = "时间格式有误!" ;
//dateText.Text = DateTime.Now.ToShortDateString() ;
}
}
}
}
我有一个现存的,自已再修改一下吧
#10
学习下
#11
这个是个麻烦事
#1
设置Text属性为空
#2
關注,我也遇到這個問題。
最後我跟用戶說,解決不了,現在也沒解決
最後我跟用戶說,解決不了,現在也沒解決
#3
设置Text属性为空
不行
不行
#4
13. 如何使没有选择日期的DateTimePicker控件为空文本?(How to make the DateTimePicker show empty text if no date is selected?)
dateTimePicker1.CustomFormat = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
#5
设置Text属性为空
#6
设置DateTimePicker.ShowCheck=True。
这是最简单合理的了,用户不愿接受说明他对Windows不熟悉,因为这是控件的标准用法。
这是最简单合理的了,用户不愿接受说明他对Windows不熟悉,因为这是控件的标准用法。
#7
DateTimePicker.ShowCheckBox=True
#8
用第三方控件可以!我以前用过,好像叫DevExpress,很好用的,自己在网上找找!
或者自己写一个控件,textbox+DateTimePicker!
或者自己写一个控件,textbox+DateTimePicker!
#9
class myPicker : DateTimePicker
{
TextBox dateText = null;
public myPicker()
{
dateText = new TextBox();
dateText.Text = "设置时间";
dateText.BorderStyle = BorderStyle.None;
dateText.Width = this.Width - 20;
dateText.Dock = DockStyle.Left;
dateText.Leave += new EventHandler(dateText_Leave);
this.Controls.Add(dateText);
}
void dateText_Leave(object sender, EventArgs e)
{
this.Text = dateText.Text;
}
protected override void OnCloseUp(EventArgs eventargs)
{
dateText.Text = this.Value.ToShortDateString();
//base.OnCloseUp(eventargs);
}
public override string Text
{
get
{
return this.dateText.Text;
}
set
{
DateTime tmp = new DateTime();
if (DateTime.TryParse(value, out tmp))
{
this.Value = tmp;
}
else
{
dateText.Text = "时间格式有误!" ;
//dateText.Text = DateTime.Now.ToShortDateString() ;
}
}
}
}
我有一个现存的,自已再修改一下吧
{
TextBox dateText = null;
public myPicker()
{
dateText = new TextBox();
dateText.Text = "设置时间";
dateText.BorderStyle = BorderStyle.None;
dateText.Width = this.Width - 20;
dateText.Dock = DockStyle.Left;
dateText.Leave += new EventHandler(dateText_Leave);
this.Controls.Add(dateText);
}
void dateText_Leave(object sender, EventArgs e)
{
this.Text = dateText.Text;
}
protected override void OnCloseUp(EventArgs eventargs)
{
dateText.Text = this.Value.ToShortDateString();
//base.OnCloseUp(eventargs);
}
public override string Text
{
get
{
return this.dateText.Text;
}
set
{
DateTime tmp = new DateTime();
if (DateTime.TryParse(value, out tmp))
{
this.Value = tmp;
}
else
{
dateText.Text = "时间格式有误!" ;
//dateText.Text = DateTime.Now.ToShortDateString() ;
}
}
}
}
我有一个现存的,自已再修改一下吧
#10
学习下
#11
这个是个麻烦事