2012-03-20 3 views
0

У меня есть форма, на которой есть 90 кнопок, одна кнопка для каждого дня. Когда пользователь сначала подписывается в программу, они вводят свое имя пользователя и дату. Я хочу указать дату ввода пользователя и автоматически заполнить текстовые поля каждой кнопки. Например, текст btnDay1 будет 18 Мар, btnDay2 будет 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 уже к моменту достижения этого фрагмента? –

+1

Какой контроль вы выбрали для выбора даты? у него есть ID dateTimepicker1? – PraveenVenu

+0

У меня есть текстовое поле txtStartDate. Итак, мне нужно создать экземпляр объекта DateTime и назначить этот объект в текстовое поле? –

ответ

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 и использовать свой код в вопросе.

Смежные вопросы