在此程序中,当单击Recall按钮(recallBtn_Click()
)时,它会调用另一个类的方法(计算方向),然后该类应调用showPath()
方法。然后,show path方法应该在textBox中显示其输出。但是,即使我可以从调试中看到值被发送到文本框,但值仍未显示。谁能告诉我哪里出错了?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
storeRetSelect.SelectedIndex = 0;
PrioritySelect.SelectedIndex = 0;
}
public void showPath(List<PathFinderNode> mPath)
{
var T = new Form1().directionsTextBox;
foreach (PathFinderNode node in mPath)
{
if ((node.X - node.PX) > 0) { T.Text += "Right" + System.Environment.NewLine ; }
if ((node.X - node.PX) < 0) { T.Text += "Left" + System.Environment.NewLine; }
if ((node.Y - node.PY) > 0) { T.Text += "UP" + System.Environment.NewLine; }
if ((node.Y - node.PY) < 0) { T.Text += "Down" + System.Environment.NewLine; }
}
}
private void recallBtn_Click(object sender, EventArgs e)
{
var path = new pathPlan();
string desigString = inputTextBox.Text;
int[] desig = new int[3];
for (int i = 0; i < desigString.Length; i++) { desig[i] = (int)char.GetNumericValue(desigString[i]); }
path.Recall(desig[1], desig[2], (-1) * desig[0]);
}
}
答案 0 :(得分:0)
使用此行,您将初始化一个新对象并获取该文本框的引用。
var T = new Form1().directionsTextBox;
但我假设您要使用已经打开的表单的文本框。将该行更改为以下内容以访问当前对象的文本框。
var T = this.directionsTextBox;