无法在文本框中显示日期

时间:2012-03-13 18:31:05

标签: c# winforms

在C#中创建Windows窗体应用程序,我有一个程序,我试图在文本框(textBox3)中插入日期,我无法显示日期。我在弹出的表单上创建了一个按钮,日期显示正常。但是,文本框永远不会填充。有什么建议?这是代码:

    private void textBox3_TextChanged(object sender, EventArgs e)
    {
        var today = DateTime.Today.ToString("dd/MM/yyyy");
        textBox3.Text = today;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var today = DateTime.Today.ToString("MM/dd/yyyy");
        MessageBox.Show("Today is " + today + ".");
    }

3 个答案:

答案 0 :(得分:2)

在其上键入内容时,您的代码只能。原因是您在TextChanged事件中填充Textbox.Text(当用户在文本框中键入内容时)。

我想您要做的是在表单中InitializeComponent之后分配Text属性,或者FormLoad之类的任何其他初始化内容:

    public MyForm()
    {
        InitializeComponent();
        InitializeDates();            
    }

    public void InitializeDates()
    {
        var today = DateTime.Today.ToString("dd/MM/yyyy");
        textBox3.Text = today;
    }

答案 1 :(得分:0)

只有当您开始在文本框中输入任何内容时,您的文本字段才会更新,因为显然您正在联系Text_Changed事件。

textBox3中输入内容,您会看到该文字成为today所持有的内容。

答案 2 :(得分:0)

首先,感谢任何在没有问题的情况下给我回复的人。我理解问题所针对的地方,但它们只会混淆已经困惑的问题。我通过做事来学习,所以非常感谢您的直接答案!

然而,我解决了需要输入字段以填充日期的问题,通过在加载时预加载文本!所以,伊卡洛斯你是对的。我想假设用户可能根本没有输入日期框。 (试图使其防止失败)

再次感谢,全部! : - )

 **private void Form1_Load(object sender, EventArgs e)**
    {
         try
             {
                {
                textBox2.Text = "Date";
                }
                     {
                        catch (System.Exception ex)
                     }
                {
                MessageBox.Show("Error: " + ex.Message);
                }
             }
    }

其余的很容易。 。

   **private void textBox2_TextChanged(object sender, EventArgs e)**
            {
                var date = DateTime.Now.ToString("MM/dd/yyyy");
                textBox2.Text = date;
            }