末增加我想从Form3
,Form4
,Form5
,Form6
,Form7
和Form8
创建窗体2与数据的列表_Buffer
。我做了工作,但只有1点的形式,如果我尝试从Form4
例如创建另一个列表中添加其他元素,而我已经从Form3
添加...在Form2
会告诉我只能从Form4
元素,而不从Form3
我添加的元素先前。下面是我如何做到这一点:通过列表形式之间,并在它
代码Form2
:
ListArticle _Buffer = new ListArticle();
public void SetData(ListArticle article)
{
_Buffer = article;
}
代码Form3
:
public ListArticle _articles = new ListArticle();
public ListArticle Articles
{
get
{
return _articles;
}
set
{
_articles = value;
}
}
foreach (Color color in dominantColours)
{
MessageBox.Show(closestColor2(clist, color));
tshirt_number++;
_articles.Clothes.Add("T-shirt " + tshirt_number.ToString());
_articles.Colors.Add(closestColor2(clist, color));
Console.WriteLine("K: {0} (#{1:x2}{2:x2}{3:x2})", color, color.R, color.G, color.B);
string hex = color.R.ToString("X2") + color.G.ToString("X2") + color.B.ToString("X2");
}
注:closestColor2
返回string
;
,这里是我如何将它们添加到列表中Form2
:
Form2 frm = new Form2();
frm.Show();
Articles = _articles;
frm.SetData(Articles);
this.Hide();
Form4
代码非常相似,从Form3代码..只是另一个列表。
这里是ListArticle
类:
public class ListArticle
{
public List<string> Clothes { get; private set; }
public List<string> Colors { get; private set; }
public ListArticle()
{
Clothes = new List<string>();
Colors = new List<string>();
}
}
所以基本上我想添加的元素我Form4
在我Form3
添加元素的末尾添加。
在'Form3,Form4,Form5 ...'你创建'Form2'的新实例?如果这样做是错误的。您需要有一个Form2实例,并且所有其他表单必须访问Form2s文章列表。 – Reniuz
@Reniuz我做这样的事情:'Form2 frm = new Form2(); frm.Show();'。我如何创建一个Form2实例? –