2014-04-18 4 views
0

Так что мне удалось удалить по индексу, но мой вопрос заключается в том, где я могу удалить объекты, введя имя объекта? Ex: Введите кнопку sara press и удалите этот объект из моего индекса. Мой второй вопрос заключается в том, как я могу вставить новый объект, в который мне нужен индекс?Манипулирование объектами в индексе

Я в форме окна, если вы могли бы помочь мне или связать мне учебник. Я был бы очень благодарен.

public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     object[] names={"Sara", "Bill", "Martin", "Suasan", "Don"}; 
     listBox1.Items.AddRange(names); 

    } 

    private void btnRemoveByIndex_Click(object sender, EventArgs e) 
    { 
     //remove by index 

     int index = int.Parse(txtIndex.Text); 
     if (index >= 0 && index < listBox1.Items.Count) 
     { 
       listBox1.Items.RemoveAt(index); 
     } 
     listBox1.ClearSelected(); 
    } 

    private void btnRemoveByItem_Click(object sender, EventArgs e) 
    { 
     //remove objects 
    } 

    private void btnSpecIndex_Click(object sender, EventArgs e) 
    { 
     //insert new object 
    } 

ответ

0
if (listBox1.SelectedItem != null) 
    listBox1.Items.Remove(listBox1.SelectedItem); 
+0

Кажется, что-то не делает – TheBoringGuy

+0

Nvm неправильно прочитал lol – TheBoringGuy

0

я предпочел бы список, а не Array,

 List<string> Names; 

     public Form1() 
     { 
      InitializeComponent(); 
      Names = new List<string>(); 
      Names.Add("Sara"); 
      Names.Add("Bill"); 
      Names.Add("Martin"); 
      Names.Add("Susan"); 
      Names.Add("Don"); 
      listBox1.DataSource = Names; 

     } 
     private void button1_Click(object sender, EventArgs e) 
     { 
      if (listBox1.SelectedItem == "Sara") 
      { 
       Names.Remove("Sara"); 
      } 
      //To Insert a new Name at specific index say 1st 
      Names.Insert(1, "Sample"); 
     } 
0

Вы должны использовать listBox1.Items.Remove

object[] names = { "Sara", "Bill", "Martin", "Suasan", "Don" }; 
      ListBox listBox1 = new ListBox(); 
      listBox1.Items.AddRange(names); 
      // give a same names value to remove item from listbox 
      listBox1.Items.Remove("Sara"); 

Если вы хотите, чтобы вставить элемент в конкретном использовании индекса

listBox1.Items.Insert(0, "tet"); //0 is index and "tet" is value 
+0

Как насчет вставки нового объекта в определенный индекс? – TheBoringGuy

+0

anwer отредактировано для вставки –

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