C #, отправить значение в текстовое поле - PullRequest
1 голос
/ 11 октября 2011

У меня есть список строк. Когда я выбираю одну из этих строк, я разделяю ее.

Я хочу отправить 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);
        }
    }
}

Код C #, который textBox1.Text = Code; не отправляет текст в текстовое поле, как мне назначить строку для текстового поля?

Ответы [ 4 ]

1 голос
/ 11 октября 2011
  1. Вы назначаете выбранное значение списка в z, но затем вызываете Split для необъявленной переменной x
  2. Foreach (строковое слово в словах) не имеет смысла.Тебе это не нужно.Удалите его (но не код тела)
1 голос
/ 11 октября 2011

Ваша переменная Code будет содержать значение, только если words.Length == 6. Убедитесь, что переменная содержит значение.

Используйте это и посмотрите, будет ли текст сохранен в текстовое поле:

textBox1.Text = "test";
1 голос
/ 11 октября 2011

Ваша переменная Code по-прежнему равна нулю, когда вы присваиваете ее TextBox.

Измените ее на:

string Code = string.Empty;
// etc.

Однако, исходя из вашего примера кода, вы не должныне нужно ни одной из этих строковых переменных или вашего ForEach.Просто назначьте его прямо в свои текстовые поля.

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 не говорит вам, что имеет какое-либо отношение к стоимости.

0 голосов
/ 11 октября 2011

попробуйте использовать оператор, например, назначить его напрямую, например textBox1.Text = Code.ToString (); или же TextBox1.Text = слова [0] .ToString (); может быть, это может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...