C# C语言中的列表视图#

C# C语言中的列表视图#,c#,winforms,listview,C#,Winforms,Listview,这里我有一些代码的副本,我想做的是在下一步工作中得到一个计算机列表,然后为每台计算机创建选项卡。这一部分做得很好,但我遇到的问题是,它创建了同名的ListView,这在我尝试向这些特定的列表视图添加信息时造成了一个明显的问题。我想知道,我该如何给每个列表视图一个计算机的名称,例如。正如您可以看到的,对于我的选项卡,我可以这样做,但是当涉及到列表视图时,如果我尝试在显示Listview listview2的位置指定相同类型的字符串标题,则不允许我编译。我是编程新手,如果这是显而易见的,我道歉。谢谢

这里我有一些代码的副本,我想做的是在下一步工作中得到一个计算机列表,然后为每台计算机创建选项卡。这一部分做得很好,但我遇到的问题是,它创建了同名的ListView,这在我尝试向这些特定的列表视图添加信息时造成了一个明显的问题。我想知道,我该如何给每个列表视图一个计算机的名称,例如。正如您可以看到的,对于我的选项卡,我可以这样做,但是当涉及到列表视图时,如果我尝试在显示Listview listview2的位置指定相同类型的字符串标题,则不允许我编译。我是编程新手,如果这是显而易见的,我道歉。谢谢。

听起来您想创建一个
列表
并将您的列表视图添加到其中


根据您使用它的方式,您可能需要一本字典。

如果我理解这个问题,那么您需要的是name变量,在本例中

string title = HardwareInfo.GetComputerName().ToString();
        TabPage myTabPage = new TabPage(title);
        // tabControl1.TabPages.Add(myTabPage);

        // Create Column Headers

        ListView listView2 = new ListView();
        ColumnHeader columnA = new ColumnHeader();
        columnA.Text = "adsasd";
        columnA.Width = 185;
        columnA.TextAlign = HorizontalAlignment.Left;
        ColumnHeader columnB = new ColumnHeader();
        columnB.Text = "asd";
        columnB.Width = 185;
        columnB.TextAlign = HorizontalAlignment.Left;
        ColumnHeader columnC = new ColumnHeader();
        columnC.Text = "asdasd";
        columnC.Width = 185;
        columnC.TextAlign = HorizontalAlignment.Left;
        ColumnHeader columnD = new ColumnHeader();
        columnD.Text = "xx";
        columnD.Width = 185;
        columnD.TextAlign = HorizontalAlignment.Left;

      //  Add columns to the ListView:
          listView2.Columns.Add(columnA);
          listView2.Columns.Add(columnB);
          listView2.Columns.Add(columnC);
          listView2.Columns.Add(columnD);

          listView2.Size = new Size(800, 300);
          listView2.Location = new Point(0, 0);
          listView2.GridLines = true;
          listView2.View = View.Details;
listView2.name=
)


但是我认为您应该考虑为这些列构造函数部分使用带有返回类型的列的函数。

您希望创建用于存储字典listview部分的变量,这样您就可以通过名称或任何您想要的字符串来查找不同的计算机

listView2.name = <name of listview2>
字典

如果不需要字典的查找部分,可以使用列表,但可以像使用数组一样使用整数

Dictionary<string, ListView>
列表

我想在每个列表视图中为每台计算机存储不同的信息,如果它们具有相同的名称,则信息会一直放在相同的位置。所以我只想把它们区别开来是的,我可以给列表命名,但问题是,即使我说listView2.name=“”;设置名称,这似乎不会影响信息的去向。因为当我将项目添加到列表视图时,我最终使用listView2.items.add(lvi1);不管我叫什么名字。数据进入“Listview2”,无论我有多少台计算机,如果它们都创建了名为Listview2的列表视图,它们只需将它们的数据填充到彼此的顶部,或者不填充?啊。你从来没有说过提供的代码是在for循环中,这改变了问题,我会让你参考SLaks提供的答案。为了便于将来参考,您在文章中提到的名称称为“变量名”,或仅称为“变量”,而不仅仅是名称。
List<ListView>