我有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)
答案 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(我认为这是一个坏主意)。