Vb.net 如何在不刷新第一次网格的情况下再次打开FRM窗口?
我有一个带有网格的窗口,它正在从MySQL中进行选择,使用Vb.net 如何在不刷新第一次网格的情况下再次打开FRM窗口?,vb.net,visual-studio,showdialog,Vb.net,Visual Studio,Showdialog,我有一个带有网格的窗口,它正在从MySQL中进行选择,使用.Show()函数代替ShowDialog()我可以再次打开同一个窗口,以获得同一窗口的两个实例 现在,当我打开第二个实例时,网格也会在第一个窗口中填充新的选择。如何使窗口第二次打开,而不在第一次打开时再次在其中重新设计网格?Form.Show是一个简单的函数,它只告诉窗体取消隐藏,它可能使用同一个实例,因此它同时刷新了这两个实例 请尝试以下方法: Dim myForm As New frmMain() // Change frmM
.Show()
函数代替ShowDialog()
我可以再次打开同一个窗口,以获得同一窗口的两个实例
现在,当我打开第二个实例时,网格也会在第一个窗口中填充新的选择。如何使窗口第二次打开,而不在第一次打开时再次在其中重新设计网格?Form.Show是一个简单的函数,它只告诉窗体取消隐藏,它可能使用同一个实例,因此它同时刷新了这两个实例 请尝试以下方法:
Dim myForm As New frmMain() // Change frmMain to your forms name
myForm.Show()
如果您正在基于来自不同位置的变量“myForm”创建同一表单的新实例,那么实际上您将“刷新”这两个表单 解决此问题的一种方法是在单独的函数中创建frmMain的第二个变量实例。(即…一点也不擅长VB,所以请原谅我的VB编程技能。) 在一个功能中:
Dim myForm AS New formMain()
myForm.Show();
在第二个函数中
Dim frmTwo AS New frmMain()
frmTwo.Show();
然后您只需拨打frmTwo,这是打开的第二张表单
我希望这能有所帮助。也许您的代码中有错误。你能提供一个重新创建效果的代码示例吗?没有代码示例很难说。但是:您确定没有将两个网格绑定到同一个数据源吗?如果数据源封装了筛选,则两个网格刷新并显示相同的数据是合乎逻辑的。您是否重新引用表单。直接从源到表单的网格?只有一个网格,即绑定到数据源的网格。。。但从第二次获胜开始,它会在第一个窗口刷新。。我怎样才能保证只在第二个文件中刷新?您是否直接从源引用表单.Grid,而不是表单No。源是在.xsd文件中定义的数据表。