0

我有一个数据网格,我用来访问它的值,例如:

userName = frm_main.datagrid1.Item(1, 0).Value.ToString

然而这东西很好,但现在我刚刚创建了一个新表单,当我试图访问它不可用的这个Item属性时。datagrid1

有谁知道,有什么问题吗?

更准确地说,当我打字时,它会像天蓝色frm_main一样突出显示我。class

4

1 回答 1

1

如果您尝试从不同的表单访问 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

应该这样做!

于 2012-09-29T13:39:56.223 回答