C#,将值发送到文本框

时间:2011-10-10 20:14:44

标签: c# .net winforms listbox

我有字符串列表框。当我选择其中一个字符串时,我将其拆分。

我想向textboxes发送此字符串的拆分值。如何将值发送到文本框?

我有这个C#代码:

private void button8_Click(object sender, EventArgs e)
{
    string Code;
    string Name;
    string PName;
    string Cost;
    string Num;
    string Level;

    using (var streamReader = new StreamReader(filePath, Encoding.Default))
    {
        if (!streamReader.EndOfStream)
        {
            Items.Add(streamReader.ReadLine());//list Items
        }
    }

    string z = listBox1.SelectedItem.ToString();

    string[] words = x.Split(',');
    foreach (string word in words)
    {
       if (words.Length == 6)
       {
            Code = words[0];
            Name = words[1];
            PName = words[2];
            Cost = words[3];
            Num = words[4];
            Level = words[5];
        }                
    }

    textBox1.Text = Code;       //This does not send anything to the textbox
    textBox2.Text = Name;
    textBox3.Text = PName;
    textBox4.Text = Cost;
    textBox5.Text = Num;
    textBox6.Text = Level;

    using (var streamWriter = new StreamWriter(
           filePath, false, Encoding.Default))
    {
        foreach (string op in Items)
        {
            streamWriter.WriteLine(op);
        }
    }
}

textBox1.Text = Code;的C#代码不会向文本框发送任何文本,如何将字符串分配给文本框?

4 个答案:

答案 0 :(得分:1)

您的变量Code只会包含words.Length == 6的值。确保变量包含值。

使用此功能,查看文本是否保存到文本框中:

textBox1.Text = "test";

答案 1 :(得分:1)

当您将Code变量分配给TextBox时,它仍然为空。

将其更改为:

string Code = string.Empty;
// etc.

虽然根据您的示例代码,您不应该需要任何字符串变量或ForEach。只需将其直接分配给TextBoxes。

textBox1.Text = words[0];
textBox2.Text = words[1];
textBox3.Text = words[2];
textBox4.Text = words[3];
textBox5.Text = words[4];
textBox6.Text = words[5];

并尝试给出控件名称。 textBox4没有告诉你它与成本有任何关系。

答案 2 :(得分:1)

  1. 您将列表框的选定值分配给z但是然后在未声明的变量x上调用Split
  2. foreach(单词中的字符串单词)没有意义。你不需要它。删除它(但不是它的正文代码)

答案 3 :(得分:0)

尝试使用直接指定它的语句,例如textBox1.Text = Code.ToString();要么   textBox1.Text =词语[0]的ToString();也许它可以帮到你

相关问题