2012-03-20 167 views
0

我有一个窗体上有90个按钮,每天一个按钮。当用户首次登录该程序时,他们输入他们的用户名和日期。我想记下用户输入的日期并自动填充每个按钮的文本字段。例如,对于btnDay1文本将是3月18日,btnDay2将是3月19日,等等等等如何自动指定日期按钮

使用此代码

有人建议:

DateTime time = dateTimepicker1.Value; //this is user selected date, you can use your own way 
foreach(Button b in this.Controls.OfType<Button>()) 
{ 
    if(b.Name != "button1" || b.Name != "button2") 
    { 
     b.Text = time.Date.ToString("dd MMM"); 
     time = time.Date.AddDays(1); //setting for next button   
    } 
} 

但是编译器告诉我,dateTimepicker1不存在在其目前的内容。我从来没有使用dateTimepicker,它不在我的教科书中,所以我不熟悉如何使用它。我查看了MSDN库,但是这个例子与DateTime time = dateTimepicker1.Value完全不同,它所做的只是让我比以前更加困惑。

+2

那么你如何让用户选择一个日期?您到达此片段时是否已有DateTime? – 2012-03-20 15:27:36

+1

你选择了什么控制选择日期?它是否有ID dateTimepicker1? – PraveenVenu 2012-03-20 15:28:44

+0

我有一个名为txtStartDate的文本框。所以我需要实例化一个DateTime对象并将该对象分配给我的文本框? – 2012-03-20 15:34:33

回答

0

,如果你有一个文本框,从用户那里得到输入,然后

DateTime time = DateTime.Parse(txtStartDate.Text); 
    foreach(Button b in this.Controls.OfType<Button>()) 
    { 
     if(b.Name != "button1" || b.Name != "button2") 
     { 
      b.Text = time.Date.ToString("dd MMM"); 
      time = time.Date.AddDays(1); //setting for next button   
     } 
    } 

它希望你有按钮1和按钮2需要避免两个按钮。

为了使界面更好,您可以使用日期选择器代替文本框,并将其名称更改为dateTimepicker1并在问题中使用您的代码。