Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从其他表单访问列表?_C#_Visual Studio_List - Fatal编程技术网

C# 如何从其他表单访问列表?

C# 如何从其他表单访问列表?,c#,visual-studio,list,C#,Visual Studio,List,使用Visual Studio 2015和C# 我有两个表单,Form1和Form2,它们是VisualStudio中同一项目的一部分。在Form1中,我根据复选框中的选择构建了一个字符串列表。我需要能够在表单2中遍历这个列表。然而,当列表(list1)在Form1中构建和更新时,我在调用Form2中的列表(list1)时遇到了问题 Form2在Form1中通过单击按钮调用,如下所示: public void BTN_Click(object sender, EventArgs e)

使用Visual Studio 2015和C#

我有两个表单,Form1和Form2,它们是VisualStudio中同一项目的一部分。在Form1中,我根据复选框中的选择构建了一个字符串列表。我需要能够在表单2中遍历这个列表。然而,当列表(list1)在Form1中构建和更新时,我在调用Form2中的列表(list1)时遇到了问题

Form2在Form1中通过单击按钮调用,如下所示:

  public void BTN_Click(object sender, EventArgs e)
    {
        Form2 frm2 = new Form2();

正在寻找能够访问表单2中列表1的任何提示。谢谢

您可以简单地创建如下属性:

   public List<string> List1 { get {return list1;} set { list1 = value;}}
public List List1{get{return List1;}set{List1=value;}
然后从其他表单访问:

Form1 frm1 = new Form1();
List<string> list = form1.List1;
Form1 frm1=new Form1();
列表=form1.List1;

您只需创建如下属性:

   public List<string> List1 { get {return list1;} set { list1 = value;}}
public List List1{get{return List1;}set{List1=value;}
然后从其他表单访问:

Form1 frm1 = new Form1();
List<string> list = form1.List1;
Form1 frm1=new Form1();
列表=form1.List1;

非常糟糕。数据隐藏!他说他的
list1
Form1
,在
Form2
中没有任何列表@CNuts不要紧,它仍然违反了基本的OOP数据隐藏方法。@nicomp我理解,但除此之外,他的解决方案不起作用。@CNuts这也无关紧要。您的解决方案仍然违反了对良好OOP至关重要的数据隐藏原则。非常糟糕。数据隐藏!他说他的
list1
Form1
,在
Form2
中没有任何列表@CNuts不要紧,它仍然违反了基本的OOP数据隐藏方法。@nicomp我理解,但除此之外,他的解决方案不起作用。@CNuts这也无关紧要。您的解决方案仍然违反了对良好的OOP至关重要的数据隐藏原则。有多种方法允许一对
表单
类相互交互。最好的方法避免耦合这两个类(即使它们彼此了解……一个了解另一个就好),并避免暴露实际控件(使用事件和属性包装控件和其他对象的属性)。标记的副本提供了很多关于该主题的好信息。如果在您查看信息并尝试使用它之后,您遇到了一个特定的问题,请发布一个新的问题,并正确显示您所尝试的内容,并解释代码的作用以及您希望它做什么。有多种方法允许一对
表单
类相互交互。最好的方法避免耦合这两个类(即使它们彼此了解……一个了解另一个就好),并避免暴露实际控件(使用事件和属性包装控件和其他对象的属性)。标记的重复项提供了很多关于该主题的好信息。如果在您查看信息并尝试使用它之后,您遇到了一个特定的问题,请发布一个新的问题,正确显示您所尝试的内容,并解释代码的功能以及您希望它执行的操作。