当前位置:编程学习 > C#/ASP.NET >>

C#中,关于DateTimePicker控件,如何设置初始值为空

C#中,关于DateTimePicker控件,如何设置初始值为空??

现在作一个项目,遇到一个比较幼稚但又解决不了的问题:
客户要求FORM上的一个DateTimePicker的初始值为空
以前从没有这样用过,查了一下资料也一无所获
有一种方法是在DateTimePicker控件上设置一个CHECKBOX复选框
初始化时为未选中,则设置为空值,选中则为当前值
但这种方法一来不直观,二来客户不愿接受

所以请教高手,有没有直接把初始值置空的方法
谢谢各位啦 --------------------编程问答-------------------- 设置Text属性为空 --------------------编程问答-------------------- 關注,我也遇到這個問題。
最後我跟用戶說,解決不了,現在也沒解決 --------------------编程问答-------------------- 设置Text属性为空

不行 --------------------编程问答-------------------- 13.   如何使没有选择日期的DateTimePicker控件为空文本?(How   to   make   the   DateTimePicker   show   empty   text   if   no   date   is   selected?)  

dateTimePicker1.CustomFormat   =   "   ";  
dateTimePicker1.Format   =   DateTimePickerFormat.Custom;   --------------------编程问答-------------------- 设置Text属性为空 --------------------编程问答-------------------- 设置DateTimePicker.ShowCheck=True。
这是最简单合理的了,用户不愿接受说明他对Windows不熟悉,因为这是控件的标准用法。 --------------------编程问答-------------------- DateTimePicker.ShowCheckBox=True --------------------编程问答-------------------- 用第三方控件可以!我以前用过,好像叫DevExpress,很好用的,自己在网上找找!
或者自己写一个控件,textbox+DateTimePicker! --------------------编程问答-------------------- 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() ;

                   
                }
            }
        }

    }
我有一个现存的,自已再修改一下吧 --------------------编程问答-------------------- 学习下 --------------------编程问答-------------------- 这个是个麻烦事
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,