2015-01-27 2 views
0

У меня есть текстовое поле в маске, который используется, чтобы показать сегодняшнюю дату, как это:Форматирование текста в Маске TextBox

txtDate.Text = DateTime.Now.ToString("dd/MM/yyyy"); 

Однако он все еще может быть отредактирован, чтобы изменить дату. Будучи замаскированным текстовое поле, только беспокойство, если кто-то хочет, чтобы добавить дату, как так:

27/1/15 

Есть ли способ, что я могу изменить это, чтобы добавить дополнительную информацию и автоматически форматировать его в этом? Возможно, возможно, String.Format?

27/01/2015 

EDIT: Чтобы уточнить, когда откроется форма, txtDate будет автоматически получать текущую дату, но если пользователь хочет изменить дату, как я могу гарантировать, что дата будет оставаться в правильном формате ? То есть дд/ММ/YYYY.

ответ

0

попробовать что-то вроде этого

DateTime d = DateTime.Now; 

string str = String.Format("{0:00}/{1:00}/{2:0000}", d.Month, d.Day, d.Year); 

Edit:

Вы можете добавить days, months, years ... в переменную типа DateTimed

Пример:

d = DateTime.Now; 
d = d.AddDays(5); // add 5 days to current date 

EDIT2

Скажем, у вас есть 3 Textboxes txtDays, txtMonth и txtYear

int year = Convert.ToInt32(txtYear.Text); 
int month = Convert.ToInt32(txtMonth.Text); 
int days = Convert.ToInt32(txtDays.Text); 

// you can assign any date as follows: 
DateTime d = new DateTime(year, month, days); 

Или, если пользователи будут иметь только один TextBox под названием txtDate, и они должны ввести дату в виде дд «MM// гггг ":

var[] date = txtDate.Split('/'); 
txtDate.Text = String.Format("{0:00}/{1:00}/{2:0000}", date[0], date[1], date[2]); 
+0

Я предполагаю, потому что текст не изменится до завтра :) использовать другой способ отладки и увидеть текст' txtDate' – chouaib

+0

Это возвращает только текущую дату ('DateTime.Now'), поэтому я должен использовать вместо нее только' DateTime'? и к какому методу следует добавить его? 'TextChanged' не будет работать, есть ли тот, когда пользователь выходит из текстового поля? – Ben

+0

Но вы сказали: «У меня есть скрытое текстовое поле, которое используется для отображения сегодняшней даты, например:'?! – chouaib

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