C# 在visual c中显示文本框中的文本#
我从数组中获取信息,并在表单的文本框中显示结果。该值不会显示在UI中,但它表示已分配该值C# 在visual c中显示文本框中的文本#,c#,winforms,C#,Winforms,我从数组中获取信息,并在表单的文本框中显示结果。该值不会显示在UI中,但它表示已分配该值 try { foreach (string r in Rows) { string[] h = new string[5]; h = r.Split(','); MessageBox.Show(h[0]); // need to show the first record House newhouse = new
try
{
foreach (string r in Rows)
{
string[] h = new string[5];
h = r.Split(',');
MessageBox.Show(h[0]);
// need to show the first record
House newhouse = new House();
newhouse.ID = Convert.ToInt32(h[0]);
newhouse.Address = Convert.ToString(h[1]);
newhouse.Type = Convert.ToChar(h[2]);
newhouse.Cost = Convert.ToInt32(h[3]);
newhouse.Sold = Convert.ToString(h[4]);
loadedHouses.Add(newhouse);
ID_Number.Text = Convert.ToString(h[0]);
address1.Text = Convert.ToString("g");
type1.Text = Convert.ToString(h[2]);
cost1.Text = Convert.ToString(h[3]);
sold1.Text = Convert.ToString(h[4]);
MessageBox.Show("dewdwedw");
}
}
catch (Exception qq)
{
Console.WriteLine("{0} Exception caught.", qq);
}
当您在调试时将鼠标悬停在ID\u Number
上时,它会显示值应为1,但不会显示在表单中。有人能帮忙吗?试试这个
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100000; i++)
{
textBox1.Text = i.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(loop));
t.Start();
}
private void loop()
{
for (int i = 0; i < 100000; i++)
{
textBox1.Text = i.ToString();
}
}
private void按钮1\u单击(对象发送者,事件参数e)
{
对于(int i=0;i<100000;i++)
{
textBox1.Text=i.ToString();
}
}
你可以猜出这里发生了什么。文本框中的数字将显示从0到999的文本。对吗?错误…在循环结束时,输出将仅为999
我不是专家,我正在努力学习C。但是我知道这个代码会按照我说的方式工作。可能你将不得不在一个单独的线程中完成它。试试这个
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100000; i++)
{
textBox1.Text = i.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(loop));
t.Start();
}
private void loop()
{
for (int i = 0; i < 100000; i++)
{
textBox1.Text = i.ToString();
}
}
private void按钮1\u单击(对象发送者,事件参数e)
{
线程t=新线程(新线程开始(循环));
t、 Start();
}
私有void循环()
{
对于(int i=0;i<100000;i++)
{
textBox1.Text=i.ToString();
}
}
这段代码应该像您期望的那样工作
在第一种情况下,textbox也从循环中连续获取值,但无法显示,因为主线程已经很忙。但在第二种情况下,线程与主线程分离
我不确定这是你的问题,但对我来说似乎是这样。在循环中连续地将文本分配给文本框。因此,即使文本框有值,但无法显示。如果您尝试创建一个新线程,现在文本框也会有相应的值,但现在会在文本框中可见。这是一种伪代码,只是为了解释我的观点。如果您正在寻找相同的,它是确定的。否则就用石头砸我的头
希望能有所帮助。这段代码没有错,所以肯定有别的地方错了。您可以显示更多的代码吗?什么是
h
以及h[0]
的值是多少?如果您将代码更改为ID\u Number.Text=“Hello”,会发生什么情况;如果您能向我们展示更多的代码,可能会更有帮助,更有效率。这是使用错误表单实例的典型标志。添加以下语句:this.Show();