无法在Masked TextBox中插入日期

时间:2014-09-24 15:11:30

标签: c# winforms maskedtextbox

我的winforms应用程序中有一个蒙版文本框。我从数据库中提取日期2/9/2012并尝试在屏蔽文本框中插入相同日期,但文本框将其显示为29/20/12__

请找到我尝试的最后一段代码。

if (value.HasValue)
{
    txtDate.AppendText("    ");
    string month = value.Value.Month.ToString();
    bool insertMonthZero = false;
    if (month.Length == 1)
    {
        //month = "0" + month;
        txtDate.Text = '0' + month;
        insertMonthZero = true;
    }
    else
    {
        txtDate.Text = month;
    }
    string day = value.Value.Day.ToString();
    bool insertDayZero = false;
    if (day.Length == 1)
    {
        insertDayZero = true;
    }
    else
    {
        txtDate.AppendText(day);
    }
    string year = value.Value.Year.ToString();
    txtDate.Text = value.Value.Date.ToShortDateString(); //txtDate.Text + year;
    if (insertMonthZero)
    {
        txtDate.Text.Insert(0, "0");
    }
    if (insertDayZero)
    {
        txtDate.Text.Insert(2, "0");
    }
    //txtDate.AppendText(year);
    // txtDate.Text = "0" + month + "/" + day + "/" + value.Value.Year.ToString();
}

1 个答案:

答案 0 :(得分:0)

看起来它是由日期格式问题引起的。您将从您的数据库获得2/9/2012,但您的文本框掩码需要格式为mm / dd / yyyy的日期。在设置文本框的值之前,请尝试将数据库返回日期格式化为该格式。