Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактируемый список
Форум программистов > Системное программирование > .NET
crmk
Нужно создать список и предусмотреть редактирование его элементов. Например выбираем элемент списка, нажимаем на кнопку "Изменить" и редактируем текст этого элемента. На сколько я понимаю в ListBox это нельзя осуществить...? Подскажите плз.
sax_ol
ListView + MSDN
Nikman
Вообще можно сделать и через ListBox если сильно захотеть rolleyes.gif , ну например так:
class Form1 : Form
{
        ...............................
      
       //btnChange -  button
       //lstBox -  ListBox

        private void textBox_KeyDown(object sender, KeyEventArgs e)
        {            
            if (e.KeyCode == Keys.Enter)
            {
                TextBox text = sender as TextBox;
                lstBox.Items[lstBox.SelectedIndex] = text.Text;                
                text.Hide();
                lstBox.Enabled = true;
                this.Controls.Remove(sender as Control);
            }
        }

        private void btnChange_Click(object sender, EventArgs e
        {
            if (lstBox.SelectedIndex == -1) return;
            TextBox text = new TextBox();
            text.Location = new Point(
                lstBox.Location.X,
                lstBox.Location.Y + lstBox.SelectedIndex * lstBox.ItemHeight);
            text.Height = lstBox.ItemHeight;
            text.Width = lstBox.Width;
            text.BorderStyle = BorderStyle.FixedSingle;
            text.KeyDown += new KeyEventHandler(textBox_KeyDown);            
            this.Controls.Add(text);
            lstBox.SendToBack();
            lstBox.Enabled = false;
            text.Focus();      
        }
}
sax_ol
Цитата(Nikman @ 19:03:2008 - 16:51) *
TextBox text = new TextBox();

Не, ну это неправильно. А правильно - свойство формы/контрола. smile.gif
Nikman
Ага, самому смешно стало. Как вариант можно написать свой компонент, но это будет немного сложнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.