表格在C#中不爽快

时间:2012-04-06 08:07:02

标签: c#-4.0

我有一个表格,显示访问数据库中的表格,然后点击按钮,我移动到form2,我做了一些更改,比如重命名一个字段,在ok点击,更改在数据库中进行,我回到form1,但改变没有反映出来。

要查看更改,我必须重新启动程序。

我尝试了form.refresh和form.invalidate但没有任何作用。

我在某处读过线程必须完成,但我是c#的新手并且不知道线程。

除了线程之外,有人可以提出任何其他建议。 如果线程是唯一的方法,请提出一些好的资源和示例。

2 个答案:

答案 0 :(得分:0)

form1上的数据不会因为您更新了基础数据而发生变化。

您需要从数据库中重新获取数据,并在从form1返回时重新填充form2

您可以通过注册form2.Closing事件并在事件处理程序中执行重新获取和重新填充来执行此操作。

答案 1 :(得分:0)

为您希望更新的控件创建一个访问者,或将Form1的引用传递给Form2。如果你沿着访问者根目录走,你可以试试Form1

public dataGridView
{
    get { return this.dataGridView1; }
    set { this.dataGridView1 = value; }
}

然后,您可以使用

Form2更新
Form1 accessForm1 = (Form1)this.Parent;
accessForm1.dataGridView.Update();

注意:使用此功能更新DataGridView中的Form1

accessForm1.dataGridView.Source = someDataBindingSource;

我希望这会有所帮助。