数据网格属性列表在VB.net中不可用

时间:2012-09-29 06:33:00

标签: winforms list properties datagridview vb.net-2010

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

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

然而,这件事情很好,但现在我刚刚创建了一个新表单,当我尝试访问Item datagrid1的{​​{1}}属性时,它不可用。

有没有人有想法,这个问题是什么?

更准确地说,当我输入内容时,我会将frm_main显示为高亮显示为class的天蓝色。

1 个答案:

答案 0 :(得分: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

应该这样做!