日期:2014-05-19  浏览次数:20810 次

显示当前日期,前一天日期,后一天日期 后续问题
现在,在页面上,有一个TEXTBOX,和三个BUTTON
要求,点第一个BUTTON时,TEXTBOX显示系统当天日期(年月日)
            点第二个BUTTON时,TEXTBOX显示前一天日期
            点第三个BUTTON时,TEXTBOX显示后一天日期
TEXTBOX本身在窗体加载时,是会有一个日期放在上面的,
当我在点那三个按钮时,依次执行上面的操作,
但是前一天和后一天的按钮是针对,TEXTBOX显示的日期显示的,不是只针对今天的,
而且也希望是,点一下就前一天,和后一天的,不停点就不停前的,

这个问题之前问过大家,也有高手帮忙解决,代码如下:
private   void   button1_Click(object   sender,   EventArgs   e)
                {
                        textBox2.Text   =   DateTime.Now.ToShortDateString();
                }

                private   void   button2_Click(object   sender,   EventArgs   e)
                {
                     
                        textBox2.Text   =   Convert.ToDateTime(textBox2.Text).AddDays(-

1).ToShortDateString();
               
                }

                private   void   button3_Click(object   sender,   EventArgs   e)
                {
                          textBox2.Text   =   Convert.ToDateTime(textBox2.Text).AddDays

(1).ToShortDateString();
                       
                }
只是现在又有新要求了,当TEXTBOX显示今天时,BUTTON3不能对其操作,BUTTON3变成不可用,只有当TEXTBOX显示的日期小于今天时,按钮三才可用,并能实现后一天操作。

高手帮忙啊,
不胜感激!



------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = DateTime.Now.ToShortDateString();
textBox3.Enable = false;
}

private void button2_Click(object sender, EventArgs e)
{

textBox2.Text = Convert.ToDateTime(textBox2.Text).AddDays(-

1).ToShortDateString();
textBox3.Enable = true;
}

private void button3_Click(object sender, EventArgs e)
{
textBox2.Text = Convert.ToDateTime(textBox2.Text).AddDays

(1).ToShortDateString();

}

------解决方案--------------------
在每个函数的最后加一句:

button3.Enabled = textBox2.Text == DateTime.Now.ToShortDateString() ? false : true;

------解决方案--------------------
在TEXTBOX的TextChanged事件里面加
button3.Enabled = textBox.Text < DateTime.Now.ToShortDateString();
------解决方案--------------------
private void Form1_Load(object sender, System.EventArgs e)
{
textBox1.Text =DateTime.Now.ToShortDateString();
button3.Enabled=false;
}

private void button1_Click(object sender, System.EventArgs e)
{
textBox1.Text =DateTime.Now.ToShortDateString();
button3.Enabled=false;