我有一种情况,用户单击Form1上的按钮以打开Form2。 Form1的加载事件基于从数据库返回的数据填充树视图。当他们向Form2输入数据时,数据库会更新,但树视图不会。如果我关闭并重新打开winform,那么它会提取新数据。C#在关闭Form2时更新Form1
我一直在挖掘几个小时,我发现如何从Form2调用Form1中的getdata方法,但它不起作用。我可以在调试模式下跟踪它,并验证我的dataReader包含新值,但树视图不会更新。我是这样做的。
//In form 2
Form1 frm = new Form1();
frm.getData();
什么也没有发生。如果我说frm.Show()然后它打开一个新的Form1窗口与更新的数据,但我希望Treeview在已打开的Form1窗口中更新。
我相信这是问题的根源。我对frm所做的任何调用都发生在一个新窗口中。如何从Form2访问现有的Form1窗口的getData()方法?
你是如何在Form1中创建和显示Form2的? –
虽然打开Form2尝试通过'ref'关键字在Form2的构造函数像'公共Form2(参考TreeView电视)''传递树视图的引用,在Form2更新后,在FormView上的evry操作也刷新Form1()关闭,希望你理解。 –