我有一个数据网格,我用来访问它的值,例如:
userName = frm_main.datagrid1.Item(1, 0).Value.ToString
然而这东西很好,但现在我刚刚创建了一个新表单,当我试图访问它不可用的这个Item
属性时。datagrid1
有谁知道,有什么问题吗?
更准确地说,当我打字时,它会像天蓝色frm_main
一样突出显示我。class
我有一个数据网格,我用来访问它的值,例如:
userName = frm_main.datagrid1.Item(1, 0).Value.ToString
然而这东西很好,但现在我刚刚创建了一个新表单,当我试图访问它不可用的这个Item
属性时。datagrid1
有谁知道,有什么问题吗?
更准确地说,当我打字时,它会像天蓝色frm_main
一样突出显示我。class
如果您尝试从不同的表单访问 frm_main,它必须有一个 frm_main 实例才能使用。如果没有现有的 frm_main 实例供它使用,就该表单而言,frm_main 不存在。
我猜你是从frm_main 中的某个地方初始化第二个表单?如果是这样,当您初始化它时,请执行以下操作:
Form2 f = new Form2(this);
f.Show();
在 Form2 的代码中,输入:
private frm_main Main;
Public Form2(frm_main _Main) { Main = _Main; InitializeComponent(); }
这为其提供了现有的 frm_main 实例,可以使用并访问其中的所有控件。您只需将其称为 Main,或您想在代码中为其提供的任何变量名称。
*编辑: *我刚刚意识到这是针对VB.Net的,为此的VB代码是
Dim f As New Form2(Me)
f.Show()
然后为 Form2 创建自己的构造函数
Dim Main As Form1
Public Sub New(ByRef _Main As Form1)
Main = _Main
InitializeComponent()
End Sub
应该这样做!