我正在使用Windows窗体应用程序。
假设我已经实例化了一个类的列表:
List<Tree> trees = new List<Tree>();
Tree t1 = new Tree("Evergreen");
Tree t2 = new Tree("Fern");
trees.Add(t1);
trees.Add(t2);
在我的Tree课程中我有
protected int _height
protected string _name
public int Height{get {return _height;}protected set { _height = value;}}
public string Name{ get{return _name;}protected set {_name = value;}
Public Tree(String Name){_name = Name;} //constructor
我创建了一个名为“添加高度”的表单。
在此表单中包含:
protected int _treeHeight;
public int TreeHeight{ get{return _treeHeight;}protected set {_treeHeight = value;}
我设法让表单显示高度,例如:
我唯一的问题是将树高添加到列表中的相关对象。
如何将树高添加到列表中的第一个树?
答案 0 :(得分:0)
你的问题有点难以解析,但是如果我理解你有一个带有字段的表单,你可以修改一个高度,并且想要将修改后的高度分配回特定的树?
如果是这种情况,那么好消息是Tree是一个参考对象。这意味着获取对树的引用将允许您设置值。
据说有几种方法我认为这适合你。第一种方法是让你的Form通过构造函数或属性或
接受Tree对象public Tree { get; set; }
直接在表单中指定值。
另一种方法是在显示后直接从表单中提取值。通常,您希望将Dialog.Result设置为“确定”或“取消”,具体取决于表单的关闭方式。但是你可以从表单中访问它。在您设置列表中第一个树的值的示例中。
trees[0].Height = form.TreeHeight;
请注意,没有错误检查,因此您需要确保树[0]存在等。另外,这只会将值分配给第一个元素,因此您需要一种方法来确定实际上是哪个元素想要设置。