Написал программу каталогизатор, прописывал все прямо в теле обработчиков событий. Но препод наругал, сказал, что все должно быть красиво, и сказал переделать с использованием классов. Он хочет чтобы обработчики обращались к классам. Кнопка удалить не работает, хотя программа запускается. Подскажите пожалуйста, что я делаю не так. Вот код: Сам класс
public static class Delete
{
public static void del()
{
ListBox listBox1 = new ListBox();
TextBox textBox1 = new TextBox();
listBox1.Items.Remove(listBox1.SelectedItem);
textBox1.Text = "";
textBox1.Clear();
}
}
А вот то место, где идет обращение к нему
public void deleteButton_Click(object sender, EventArgs e)
{
// удаляет выбранный элемент из списка
Delete.del();
}
Твой класс ничего не знает об элементах формы и поэтому он не работает!
Ты зачем-то внутри своего класса создаешь новые объекты, которые никак не связаны с тем, что ты видишь на форме.
Что бы все работало, ты должен сделать метод, который принимает объекты ListBox и TextBox и тогда, класс будет работать с реальными объктами на форме.
UPD
public static class Delete
{
public static void del(ListBox listBox1,TextBox textBox1)//добавляешь аргументы в метод
{
listBox1.Items.Remove(listBox1.SelectedItem);
textBox1.Text = "";
textBox1.Clear();
}
}
И передавай элементы:
public void deleteButton_Click(object sender, EventArgs e)
{
// удаляет выбранный элемент из списка
Delete.del(listBox1,textBox1);
}
public void deleteButton_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItem != -1)
listBox1.Items.Remove(listBox1.SelectedItem);
textBox1.Clear();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Во время проигрывания потока в момент смены трека на радио, происходит захват новых meta данных (Исполнитель и Название трека), как их вывести...
Одна ветка соединяется с другой (node и node_ser)Внутри них множество вложенных узлов
Делаю загрузку видео и есть необходимость обрабатывать видео на сервере, для дальнейшей публикации