2015-02-21 7 views
0

Я пытаюсь манипулировать значение DateTimePicker с событием textchange ..DateTimePicker манипуляция

private void txtStay_TextChanged(object sender, EventArgs e) 
{ 
    dateTimePicker2.Text = dateTimePicker2.Value.AddDays(Convert.ToInt32(txtStay.Text)).ToString(); 
} 

, но у меня возникают проблемы, когда я нажмите Backspace, чтобы изменить значение в текстовом поле, это вызывая ошибка. то, что я хочу, это то, что когда я нажимаю backspace, это изменит значение даты с оставшимся числом в тексте.

+2

Какое исключение вы столкнулись с этим? Кроме того, почему вы устанавливаете свойство text DateTimePicker вместо установки значения напрямую? –

ответ

0

Я не уверен в вашей конечной цели, но для устранения ошибки значения добавьте следующий код в событие;

 int days=0; 
     Int32.TryParse(txtStay.Text, out days); 
     dateTimePicker2.Text = dateTimePicker2.Value.AddDays(days); 

он должен работать.

Но вы не должны добавлять дни со ссылкой на любой из дней исправлений, не являющихся текущей датой выбора даты.

Я имею в виду, что он будет продолжать добавлять дни, если вы измените значения в текстовом поле .. !!

--------- --------- EDIT

, чтобы получить правильное использование даты этого;

dateTimePicker1.Value = DateTime.Today.AddDays(days); 

Выше взять текущую дату в качестве базовой даты, но она любит, вам придется взять DateTimePicker1 (дата начала) в качестве базовой даты.

+0

tnx sir..i уже решил ошибку. Моя проблема теперь в том, что ... как бы уменьшить дни, когда я нахожусь в обратном пространстве. скажем, из ввода 12 ввода textbOX..i, дни будут увеличиваться до нескольких дней, но если я нажму на обратное пространство, чтобы удалить «2» с 12..дневного декремента и добавлю только 1 день. –

+0

Получил ! Большое спасибо, сэр! –