2013-12-20 3 views
-1

Просто помочь с этой ситуацией:
listbox1 загружает элементы из text.txt линий при запуске
textBox1
AddButton может добавить новый элемент данных ListBox из TextBox1
removebutton может удалить пункт lisbox
Удалить ListBox элемент

Я просто удаляю элемент, добавленный addbutton, но я не могу удалить элемент, загруженный из txt-файла Любая простая Winform? Спасибо

+0

В чем вопрос? – Grundy

+0

Извините. Я исправил свой вопрос –

+0

в msdn [items.addrange] (http://msdn.microsoft.com/ru-ru/library/z018s5az (v = vs.110) .aspx), [listbox.items.add ] (http://msdn.microsoft.com/ru-ru/library/system.windows.forms.listbox.objectcollection.add (v = vs.110) .aspx), [items.clear] (http: // msdn.microsoft.com/ru-ru/library/system.windows.forms.listbox.objectcollection.clear(v=vs.110).aspx), [items.remove] (http://msdn.microsoft.com/ ru-ru/library/system.windows.forms.listbox.objectcollection.remove (v = vs.110) .aspx) и [items.removeat] (http://msdn.microsoft.com/ru-ru/library/ system.windows.forms.listbox.objectcollection.removeat (v = vs.110) .aspx) – Grundy

ответ

0

Это трудно понять, что вы действительно хотите, но вот пример:

private void Form1_Load(object sender, EventArgs e) 
{ 
    // load text file lines into listBox 
    string[] lines = File.ReadAllLines("yourFileFromWorkingDirectory.txt"); 
    foreach (string s in lines) 
    { 
     listBox1.Items.Add(s); 
    } 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    // add new line from textBox 
    if (textBox1.Text != String.Empty) { listBox1.Items.Add(textBox1.Text); } 
} 

private void button1_Click(object sender, EventArgs e) 
{ 
    // remove selected line in listBox 
    listBox1.Items.Remove(listBox1.SelectedItem); 
} 

Вы можете загружать данные из текстовых файлов с этим и удалить ненужные строки из ListBox. Если вы хотите, вы можете пойти еще дальше:

private void button3_Click(object sender, EventArgs e) 
{ 
    // save listBox into text file 
    using(StreamWriter writer = new StreamWriter("yourFileFromWorkingDirectory.txt")) 
    { 
     foreach (string s in listBox1.Items) 
     { 
      writer.WriteLine(s); 
     } 
    } 
} 

Это спасет все из вашего спискаBox. Я надеюсь, что это помогает.

+0

. В некотором роде вы можете использовать DataSource или DataBinding для этого приложения? –

+0

Ну, вам нужно будет отредактировать некоторые строки, но основная идея этого была бы такой же. Раньше я никогда не использовал эти классы, поэтому я не могу дать вам пример для этого. – martynaspikunas

1

Ваш вопрос немного широк, не уверен, хотите ли вы просто знать, как удалить элемент, добавить элемент или добавить элементы из текстового файла. Я обращусь к первым двум. Обе функции, которые вы хотите, являются частью элемента ListBox ObjectCollection. Это упрощенный пример того, как добавить текстовый текст в список и как удалить выбранный элемент ListBox.

private void AddItem_Click(object sender, EventArgs e) 
{ 
    listBox1.Items.Add(textBox1.Text); 
} 

private void RemoveItem_Click(object sender, EventArgs e) 
{ 
    listBox1.Items.Remove(listBox1.SelectedItem); 
} 

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

private void button3_Click(object sender, EventArgs e) 
{ 
    if (!string.IsNullOrEmpty(textBox1.Text)) 
    { 
     if (listBox1.Items.Contains(textBox1.Text)) 
     { 
      listBox1.Items.Remove(textBox1.Text); 
     } 
    } 
} 
+0

Да, я знаю. Я сделал список с элементами, загруженными из текстового файла, но я не могу удалить какой-либо элемент в этом списке, поэтому, если у вас есть какие-либо идеи, обратитесь в службу поддержки –

+0

Просто убедитесь, что элемент, который вы хотите удалить, был выбран, я просто сделал тест, и он удалит выбранный элемент –

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