【问题标题】:How to transfer date data to another form's datetimepicker如何将日期数据传输到另一个表单的 datetimepicker
【发布时间】:2016-01-12 09:44:18
【问题描述】:

我有一个 gridview,当我点击编辑时,我打开另一个表单并传输 gridview 单元格数据。

当我调试时,它可以获得我的日期,但我的表单上的 datetimepicker 值没有改变。

我有两种形式。 Form1 有我的 datetimepicker,form2 有 datagridview。当我在datagridview上右键单击“编辑”时,它会打开我的form1并将所有数据从gridview传输到form1。一切正常,预计 datetimepicker 值不会改变。

我的代码:

DateTime date= DateTime.Parse(dataGridView.CurrentRow.Cells[2].Value.ToString());
form1.DateTimePicker.Value = date;

我卡住了,需要帮助。

【问题讨论】:

  • 你在哪里定义form1?..
  • 我有两个表格。 Form1 有我的 datetimepicker,form2 有 datagridview。当我在datagridview上右键单击“编辑”时,它会打开我的form1并将所有数据从gridview传输到form1。一切正常,预计 datetimepicker 值不会改变。

标签: c# winforms datagridview


【解决方案1】:

在分配日期后尝试添加:

form1.Show()
form1.Invalidate();
form1.Refresh();

【讨论】:

  • 不,它没有给出任何错误或异常。只是我的表单上的值没有改变
  • @Dave 那么请给我们看更多的代码,代码是等的一部分的方法是什么
  • 这是我的全部代码。在那段代码之后我只有这个:form1.Show(); this.Hide();
  • @Dave 那么我担心你在错误的地方寻找问题,请调试你给我们的代码并给我们更多的代码或信息。分配后 form1.DateTimePicker.Value 是否会立即更改?
【解决方案2】:

您可以在 form1 上创建一个函数。类似于以下内容:

public void UpdateForm1(DateTime? newDate)
{
   dgv.Rows[0][1].value = newDate == null? "": newDate.ToShortDateString();
}

从form2你可以在日期时间改变时调用这个函数

Form1.UpdateForm1(this.datetimePicker.value);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    相关资源
    最近更新 更多