Listview 公共列表视图c# 我有一个带有列表视图的form1 我有一个带有按钮的form2,我可以在我的sqlite数据库中设置值

Listview 公共列表视图c# 我有一个带有列表视图的form1 我有一个带有按钮的form2,我可以在我的sqlite数据库中设置值,listview,public,Listview,Public,一切都很好,但我无法更新我的listview以查看值,因为我还没有访问此控件,我该怎么办 这是我的代码: listViewpays.Items.Clear() 此代码在我的form2中不起作用:(因为我无法访问listview1(from1) 我需要做的是请帮助我作为原始解决方案,您可以在Form2中公开它。更好:您通过属性公开它。更好:您在Form2中公开一个公共方法,该方法接受所有需要的参数,它创建一个ListViewItem并将其添加到您的私有ListView。更好:您创建一个具有相关属性

一切都很好,但我无法更新我的listview以查看值,因为我还没有访问此控件,我该怎么办

这是我的代码: listViewpays.Items.Clear()

此代码在我的form2中不起作用:(因为我无法访问listview1(from1)


我需要做的是请帮助我

作为原始解决方案,您可以在Form2中公开它。更好:您通过属性公开它。更好:您在Form2中公开一个公共方法,该方法接受所有需要的参数,它创建一个ListViewItem并将其添加到您的私有ListView。更好:您创建一个具有相关属性的类并公开一个集合在Form2中,您可以使它与ListView保持同步(这是一种糟糕的视图模型,您甚至可以使用数据绑定)。我有这样的方法可以更新我的ListView,我的Form2类不给我访问ListView的权限:/要获得最简单的解决方案(公开)请检查Modifiers属性(在Design属性组中)在WinForms designer内部。将listView的Modifiers伪属性设置为“Internal”,它将是可访问的(当然,假设Form2的实例是可访问的!)
            sql = "SELECT * FROM myvalue";
            command = new SQLiteCommand(sql, connectdb);
            SQLiteDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                varlistview1 = new ListViewItem(reader["myvalue"].ToString());
                listView.Items.Add(varlistview1);
                listView.Refresh();

            }