如何在另一个窗体上访问ListView控件

克罗伯

我试图从与ListView所在的表单不同的表单中单击按钮时填充ListView。我在Form1中创建了一个要在Form2中使用的方法,并将参数传递给Form1中的方法,然后填充ListView。当我调试时,我获得了所有正确的值,但是ListView仍然没有填充。无论我是否将ListView的Modifier属性设置为Public,这都是我为简单起见而盲目编写的代码。

Form1(仅具有一个ListView和一个用于打开Form2的按钮)

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public void setLvi(string name, string age, string dob)
        {
            ListViewItem lvi = new ListViewItem(name);
            lvi.SubItems.Add(age);
            lvi.SubItems.Add(dob);
            listView1.Items.Add(lvi);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 fm3 = new Form2();
            fm3.Show();
        }
    }
}

表格2(只有一个按钮应该填充ListView)

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form1 fm2 = new Form1();
            string name2 = "Chris";
            string age2 = "23";
            string dob2 = "12/19/1989";
            fm2.setLvi(name2, age2, dob2);
        }
    }
}
卡尔·安德森

简短的答案是,Form1不会显示您正在创建的新内容,因此您对列表视图所做的更改不会反映在表单的任何视觉表示中。因此,您可以保留所拥有的代码,但是调用.Show()fm2按钮处理程序中创建对象,但是我建议您重新考虑此方法,因为可能有一些您不想抛弃的东西Form1,例如其他控件。如果它们存在的话,可能会被填充。

而是考虑一下:

Form2拥有Form1与您想象的实例不同的实例,因为您要更新另一个Form1实例。

private void button1_Click(object sender, EventArgs e)
{
    // fm2 is not the same Form1 that created this Form2 object
    Form1 fm2 = new Form1();
    string name2 = "Chris";
    string age2 = "23";
    string dob2 = "12/19/1989";
    fm2.setLvi(name2, age2, dob2);
}

而是这样做:

public partial class Form2 : Form
{
    public Form1 TheForm1 { get; set; }

    public Form2(Form1 _form1)
    {
        TheForm1 = _form1;
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        string name2 = "Chris";
        string age2 = "23";
        string dob2 = "12/19/1989";
        TheForm1.setLvi(name2, age2, dob2);
    }
}

我们更改了的构造函数,Form2以接受的实例Form1,该实例存储在property中TheForm1,这将允许我们setLviForm1类中调用方法

现在,我们必须更改实例化的方式Form2,如下所示:

private void button1_Click(object sender, EventArgs e)
{
    Form2 fm3 = new Form2(this);
    fm3.Show();
}

注意:this表示当前类的一个实例,它将是Form1,因为我们在更新Form2对象时就在该类中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何访问子窗体上的文本框控件的值,其中子窗体本身只是主窗体的另一个子窗体上的控件

来自分类Dev

如何在另一个页面上访问HTML对象

来自分类Dev

如何在另一个硬盘驱动器上访问Windows 8?

来自分类Dev

从另一个子窗体访问子窗体中的控件

来自分类Dev

如何访问另一个控件的viewModel

来自分类Dev

如何在Windows窗体中轻松地将一个控件替换为另一个具有相同名称的控件?

来自分类Dev

如何运行jar,以便以后可以在另一个终端会话上访问它?

来自分类Dev

当另一个控件具有焦点时,窗体如何检测KeyDown事件?

来自分类Dev

如何在同一页面上的另一个Ascx控件中访问一个Ascx控件中的值

来自分类Dev

如何从添加到另一个控件的子控件访问变量?

来自分类Dev

如何从另一个Windows窗体类重新加载ListView?

来自分类Dev

如何在一个实例上访问类?

来自分类Dev

如何从另一个控件调用另一个控件的LostFocus事件

来自分类Dev

从另一个线程访问UI控件

来自分类Dev

在窗体上方打开另一个窗体后如何关闭窗体

来自分类Dev

如何从Sitecore中的另一个子布局访问子布局控件?

来自分类Dev

如何从另一个 JavaFX 窗口访问 JavaFX 窗口的控件?

来自分类Dev

如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

来自分类Dev

如何在同一事件中将数据从一个控制器传递到服务并在另一个控制器上访问该数据?

来自分类Dev

在另一个方法(相同的类)上访问ArrayList

来自分类Dev

在另一个子网上访问IP

来自分类Dev

如何在WPF的同一窗口中从另一个控件调用UserControl?

来自分类Dev

如何在另一个div内访问一个div

来自分类Dev

如何在Nuxt中从另一个状态访问一个Vuex状态?

来自分类Dev

如何在另一个JavaScript中访问一个JavaScript中的变量?

来自分类Dev

如何在jsf中从另一个访问一个ManagedBean

来自分类Dev

如何在Android的另一个模块中访问一个模块的视图?

来自分类Dev

在另一个模型中访问 listView 模型

来自分类Dev

如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

Related 相关文章

  1. 1

    如何访问子窗体上的文本框控件的值,其中子窗体本身只是主窗体的另一个子窗体上的控件

  2. 2

    如何在另一个页面上访问HTML对象

  3. 3

    如何在另一个硬盘驱动器上访问Windows 8?

  4. 4

    从另一个子窗体访问子窗体中的控件

  5. 5

    如何访问另一个控件的viewModel

  6. 6

    如何在Windows窗体中轻松地将一个控件替换为另一个具有相同名称的控件?

  7. 7

    如何运行jar,以便以后可以在另一个终端会话上访问它?

  8. 8

    当另一个控件具有焦点时,窗体如何检测KeyDown事件?

  9. 9

    如何在同一页面上的另一个Ascx控件中访问一个Ascx控件中的值

  10. 10

    如何从添加到另一个控件的子控件访问变量?

  11. 11

    如何从另一个Windows窗体类重新加载ListView?

  12. 12

    如何在一个实例上访问类?

  13. 13

    如何从另一个控件调用另一个控件的LostFocus事件

  14. 14

    从另一个线程访问UI控件

  15. 15

    在窗体上方打开另一个窗体后如何关闭窗体

  16. 16

    如何从Sitecore中的另一个子布局访问子布局控件?

  17. 17

    如何从另一个 JavaFX 窗口访问 JavaFX 窗口的控件?

  18. 18

    如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

  19. 19

    如何在同一事件中将数据从一个控制器传递到服务并在另一个控制器上访问该数据?

  20. 20

    在另一个方法(相同的类)上访问ArrayList

  21. 21

    在另一个子网上访问IP

  22. 22

    如何在WPF的同一窗口中从另一个控件调用UserControl?

  23. 23

    如何在另一个div内访问一个div

  24. 24

    如何在Nuxt中从另一个状态访问一个Vuex状态?

  25. 25

    如何在另一个JavaScript中访问一个JavaScript中的变量?

  26. 26

    如何在jsf中从另一个访问一个ManagedBean

  27. 27

    如何在Android的另一个模块中访问一个模块的视图?

  28. 28

    在另一个模型中访问 listView 模型

  29. 29

    如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

热门标签

归档