如何自动为按钮分配日期

时间:2012-03-20 15:25:28

标签: c# winforms datetimepicker

我有一个表格,上面有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完全不同,它所做的就是让我比以前更加困惑。

1 个答案:

答案 0 :(得分: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        
        }
    }

它希望你有两个按钮button1和button2需要避免。

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