在Masked TextBox中设置文本格式

时间:2015-01-27 04:18:10

标签: c# string format maskedtextbox

我有一个蒙面文本框,用于显示今天的日期,如下所示:

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

但是仍然可以编辑它来更改日期。作为一个蒙面文本框,唯一的担心是如果有人想添加这样的日期:

27/1/15

有没有办法可以编辑它来添加附加信息并自动将其格式化为此?可能使用String.Format

27/01/2015

编辑:澄清一下,当表单打开时,txtDate将自动收到今天的日期,但如果用户想要更改日期,我该如何确保日期为保持正确的格式?即DD / MM / YYYY。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

DateTime d = DateTime.Now;

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

编辑:

您可以将daysmonthsyears ...添加到DateTime d

类型的变量中

示例:

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

<强> EDIT2

假设您有3个文本框txtDaystxtMonthtxtYear

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);

或者,如果用户只有一个名为txtDate的文本框,他们必须在表格中输入日期&#34; MM / dd / yyyy&#34;:

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