childform中的listview

时间:2010-07-29 02:42:54

标签: vb.net

我有3个表单,一个是frmMain - 主表单,第二个是frmUserType-子表单,最后一个是frmCreateUserType。在主窗体中我有一个菜单项来打开我的frmUserType,在这个窗体中我有一个按钮来打开另一个窗体,这是我的frmCreateUserType,在这个窗体中我有一个按钮来添加记录然后更新frmUserType中的listview。问题是listview无法使用frmCreateUserType中的添加按钮控件进行访问。我试图不使用mdiparent声明为我的frmMain和frmUserType作为子项,它的工作原理,这意味着问题是将我的frmUserType显示为子窗体?我正在使用vb.net 2008

任何建议都会非常感谢

提前完成

打开我的第二个表单的代码(frmUserType)

Dim frmChildUserType As New frmUserType
frmChildUserType.MdiParent = Me
frmChildUserType.WindowState = FormWindowState.Maximized
frmChildUserType.Show()

我的添加按钮代码,用于更新frmUserType

中的列表视图
frmUserType.lsvUserType.Items.Clear()
FillListViewUserType("SELECT * FROM pr_user_type", frmUserType.lsvUserType)

1 个答案:

答案 0 :(得分:1)

您正在创建一个新实例:

Dim frmChildUserType As New frmUserType

但是在你的代码中:

frmUserType.lsvUserType.Items.Clear()
FillListViewUserType("SELECT * FROM pr_user_type", frmUserType.lsvUserType)

您没有访问该实例,而是使用frmUserType默认实例。所以我认为你正在更新ListView的不同实例而不是你的想法。

如果您将代码更改为:

frmChildUserType.lsvUserType.Items.Clear()
FillListViewUserType("SELECT * FROM pr_user_type", frmChildUserType.lsvUserType)

我认为它可以按预期工作。

如果你不知道默认实例是什么,你可以找到一个关于他们的博客here(我认为这是一个坏主意)。