2015-02-18 3 views
0
private void addButton_Click(object sender, EventArgs e) 
    { 
    List<String> names = new List<String>(); 
    names.Add(textBox1.Text); 
    names.Add(textBox2.Text); 
    names.Add(textBox3.Text); 




    displayTextBox.Text = displayMembers(names); 
    displayTextBox.Text = string.Join(" ", names); 
    } 

    public string displayMembers(List<String> names) 
    { 
    foreach (String s in names) 
    { 
     return s.ToString(); 
    } 
    return null; 
    } 

Это то, что у меня есть до сих пор, но мне нужно сделать, чтобы очистить текстовое поле и ввести что-то новое, и оно будет отображаться в окне displayText, а также то, что было введено в первый раз ... Я новичок в программировании и не могу понять, как продолжать добавлять к ящику. СпасибоКак взять пользовательский ввод из текстового поля и отобразить его с помощью списка C#?

+1

Вы хотите, чтобы очистить текстовое поле, а затем положить старые данные обратно (что вы только что удалили) рядом с тем, что вы печатаете? Это кажется странным. Почему бы просто не оставить данные там, если вы просто собираетесь развернуться и вернуть обратно? Можете ли вы объяснить, почему? –

+0

displayMembers будут возвращаться после первой строки в именах –

+0

Мне нужно иметь возможность вводить имя, добавлять его в окно отображения, очищать текстовые поля и добавлять дополнительные имена в окно отображения. если это имеет смысл – Logan

ответ

0

Я думаю, вы ищете это? Я предполагаю, что вы хотите append, что бы ни печаталось в элементе управления displayTextBox.

BTW, ваш displayMembers() не будет работать так, как вы хотите, он возвращает самый первый элемент в перечислении.

Приведенный ниже код будет добавлять все введенные имена в DisplayTextBox:

displayTextBox.Text = displayTextBox.Text + 
" " + textBox1.Text + " " +textBox2.Text +" "+ 
textBox3.Text +" "+textBox4.Text; 

В качестве альтернативы вы должны хранить список имен, как это:

объявить переменную List экземпляр:

private List<string> _names = new List<string>(); 

Затем вместо изменения текста displayTextBox просто добавьте его в список:

_names.Add(textBox1.Text + " " +textBox2.Text +" "+ 
textBox3.Text +" "+textBox4.Text); 

Затем используйте список для управления, что отображается в displayTextBox:

displayTextBox.Text = string.Join(" ", _names); 

Таким образом, чтобы обернуть все это вместе, это изменить:

//instance var 
private List<string> _names = new List<string>(); 

private void addButton_Click(object sender, EventArgs e) 
{ 
_names.Add(textBox1.Text + " " +textBox2.Text +" "+ textBox3.Text +" "+textBox4.Text); 

displayTextBox.Text = string.Join(" ", _names); 

textBox1.Text = ""; 
textBox2.Text = ""; 
textBox3.Text = ""; 
textBox4.Text = ""; 
} 
+0

да, это то, о чем я говорю, но теперь, когда у меня есть все имена в displayTextBox, используя кнопку добавления в win-формах, я хочу, чтобы пользователь мог очищать текстовые поля и добавлять больше имен в список, который уже существует. это имеет смысл – Logan

+0

Вы можете просто очистить все текстовые поля после добавления, но проблема в том, что вы просто создаете большую длинную строку. вам нужно сгенерировать истинный список строк, я отправлю пример. –

Смежные вопросы