在TextBox中输入从一个表单到另一个表单的DateTime值

时间:2014-09-07 16:46:52

标签: c# winforms forms textbox datetimepicker

好的,我有三种形式。在Form1我有2个dateTimePicker和1个按钮。当我点击该按钮时,我转到Form2,其中有另一个按钮。当我点击该按钮时,它会显示一条消息,其值为dateTimePicker。我有另一个Form3我有一个文本框。

问题:所以我没有在表单2中显示消息中的值,而是我想要的是当我在Form1中的dateTimePicker中选择一个值并单击btn时,Form2应该打开,当我单击按钮form3时应该在form2中打开打开并在Form3中的textBox中应显示dateTimePicker值。 这是我到目前为止所做的。

    private void button1_Click(object sender, EventArgs e) //form1
    {
        Form2 obj = new Form2(textBox1.Text,dateTimePicker1.Value,dateTimePicker2.Value);
        this.Hide();
        obj.ShowDialog();
        this.Close();

        Form3 f3 = new Form3(dateTimePicker1.Value);
    }

    string Name; //form2
    DateTime DT1;
    DateTime DT2;
    DateTime DT3;
    public Form2(string name, DateTime dt1,DateTime dt2)
    {
        InitializeComponent();
        Name = name;
        DT1 = dt1;
        DT2 = dt2;
    }


    private void button2_Click(object sender, EventArgs e)
    {
        //MessageBox.Show("Check In Date: "+ DT1.ToString() + " Check Out Date: " + DT2.ToString());
        Form3 f3 = new Form3(DT1);
        f3.ShowDialog();
    }

    DateTime ChkInDate; // form3
    public Form3(DateTime chkindate)
    {
        InitializeComponent();
        ChkInDate = chkindate;
    }

    private void CheckInTxt_TextChanged(object sender, EventArgs e)
    {
        CheckInTxt.Text = ChkInDate.ToString();
    }

1 个答案:

答案 0 :(得分:1)

您需要在Form3的构造函数中设置TextBox的初始值。

public Form3(DateTime chkindate)
{
    InitializeComponent();
    ChkInDate = chkindate;
    CheckInTxt.Text = chkindate.ToString(); // add this line
}