文本更改时将文本框文本转换为日期

时间:2011-08-13 06:55:25

标签: c#

我想要的是当用户以正常方式在文本框中输入文本时,文本更改为日期格式。 例如,当用户输入20110110文本更改为2011/01/10

1 个答案:

答案 0 :(得分:2)

你会在什么时候这样做?他们输入最后一个“0”的瞬间?

可以挂钩TextChanged事件并执行以下操作:

public void ReformatDate(object sender, EventArgs e)
{
    TextBox textBox = (TextBox) sender;

    DateTime dt;
    // TODO: Work out what culture you want to parse/format in.
    if (DateTime.TryParseExact(textBox.Text, "yyyyMMdd",
                               DateTimeStyles.None, out dt))
    {
        textBox.Text = dt.ToString("yyyy/MM/dd");
    }
}

就我个人而言,我不确定作为一个用户,我想要这种行为,请注意。当文本框失去焦点时,您可能希望这样做。