我有一个表格,显示访问数据库中的表格,然后点击按钮,我移动到form2,我做了一些更改,比如重命名一个字段,在ok点击,更改在数据库中进行,我回到form1
,但改变没有反映出来。
要查看更改,我必须重新启动程序。
我尝试了form.refresh和form.invalidate但没有任何作用。
我在某处读过线程必须完成,但我是c#的新手并且不知道线程。
除了线程之外,有人可以提出任何其他建议。 如果线程是唯一的方法,请提出一些好的资源和示例。
答案 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;
我希望这会有所帮助。