Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在不刷新第一次网格的情况下再次打开FRM窗口?_Vb.net_Visual Studio_Showdialog - Fatal编程技术网

Vb.net 如何在不刷新第一次网格的情况下再次打开FRM窗口?

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

我有一个带有网格的窗口,它正在从MySQL中进行选择,使用
.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文件中定义的数据表。