我创建了三个文本框调用 HighOffSetX , HighOffSetY 和 HigOffSetZ 。 我想将它们添加到名为 HighOffSets 的列表中。我遇到的问题是如何将文本框添加到另一个类的列表中。
当我尝试将 HighOffSetX 添加到我的列表时,出现错误, HighOffSetX 无法识别。我该怎么做才能让我的班级认出文本框?我在使用C#的GUI方面没有很多经验。我看了谷歌并堆叠,找不到帮助我的答案。这是代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UCAGui
{
public class CaliberationGUI: Form
{
List<TextBox> HighOffSets = new List<TextBox>();
public CaliberationGUI()
{
HighOffSets.Add(this.HighOffSetX); //This line gives me an error
}
}
}
我将文本框的名称更改为 HighOffSetX , HighOffSetY 和 HigOffSetZ 。以下是ConfigForm.Designer.cs生成的代码
this.HighOffSetX.Location = new System.Drawing.Point(60, 28);
this.HighOffSetX.Name = "HighOffSetX";
this.HighOffSetX.Size = new System.Drawing.Size(100, 20);
this.HighOffSetX.TabIndex = 5;
如果您希望我发布生成的代码,我在添加文本框时创建了C#,请告诉我。
答案 0 :(得分:2)
您已经以不同的形式声明了文本框。如果没有ConfigForm
的实例,您无法访问该文本框。创建第二个Form的新实例,或通过构造函数传递它:
public class CaliberationGUI: Form
{
private ConfigForm configForm;
List<TextBox> HighOffSets = new List<TextBox>();
public CaliberationGUI(ConfigForm config)
{
InitializeComponent();
this.configForm = config;
HighOffSets.Add(this.configForm.HighOffSetX);
}
}