14 / 14 / 8
Регистрация: 12.08.2013
Сообщений: 202
1

Обновление listbox со второй формы

23.02.2017, 11:10. Показов 3758. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
На первой форме находится листбокс, во второй форме присходит заполнение БД.
Так вот после сохранения в БД
C#
1
2
 SQLiteCommand command = new SQLiteCommand("INSERT INTO 'config' ( 'ip', 'g_log', 'g_pass', 'g_name', 'g_port', 'id_gates', 'limit', 'period') VALUES ('" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox1.Text + "', '" + id_gates + "', " + temp + ", "+ limit + ");", connection);
                    command.ExecuteNonQuery();
вызываю обновление листбокса на первой форме
C#
1
2
3
  Form1 fr1 = new Form1();
fr1.refresh();
            this.Close();
сама функция обновления
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 public void refresh()
        {
            listBox1.Items.Clear();
            listBox4.Items.Clear();
            listBox3.Items.Clear();
            const string databaseName = @"config.db";
            SQLiteConnection connection =
                new SQLiteConnection(string.Format("Data Source={0};", databaseName));
            connection.Open();
           
           
           
            SQLiteCommand com = new SQLiteCommand("select * from 'config';", connection);
            SQLiteDataReader rd = com.ExecuteReader();
            foreach (DbDataRecord rec in rd)
            {
                string gates = rec["g_name"].ToString();
                listBox3.Items.Add(gates);
                listBox4.Items.Add(gates);
            }
          
            connection.Close();
        }
при отладке вижу что gates получает значение, а в листбоксе данные не отображаются. подскажите в чем грабли?

ЗЫ. Всех с праздником!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2017, 11:10
Ответы с готовыми решениями:

Обновление listBox c другой формы
Добрый день. Скажите пожалуйста, как можно обновить листбокс с другой формы? Сам листбокс...

Передача данных логинов с listbox второй формы на первую
Привет всем. Вообщем на второй форме я добавляю список логинов, сохраняю. Форма закрывается. На...

Обновление label в первой формы после закрытия второй
Добрый день! У меня есть две формы PZ6 и inputForm Вторая вызывается из первой по нажатию кнопки....

Обновление первой формы после закрытия второй
привет всем. помогите пж, не знаю как обновить 1-ю форму. дело вот в чем, есть 2 формы. во 2-й я...

5
Администратор
Эксперт .NET
17567 / 13789 / 5299
Регистрация: 17.03.2014
Сообщений: 28,270
Записей в блоге: 1
23.02.2017, 12:03 2
damonxx, грабли в том что ты создаешь новый невидимый экземпляр Form1 и работаешь с ним. Нужно работать с уже созданной формой. Например можно передать её во вторую форму или использовать свойство Parent.
1
36 / 32 / 23
Регистрация: 28.12.2015
Сообщений: 264
23.02.2017, 12:04 3
Лучший ответ Сообщение было отмечено damonxx как решение

Решение

Тебе же просто g_name нужно передать в ListBox, после сохранение в БД? А зачем тогда такой огород?
Можно же после записи в БД, сразу g_name отправить в ListBox и всё.
1
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
23.02.2017, 14:17 4
Думаю не хватает самой малости.
Нужно поменять свойство листбокс с private на public
0
14 / 14 / 8
Регистрация: 12.08.2013
Сообщений: 202
24.02.2017, 06:25  [ТС] 5
Цитата Сообщение от Fedor_Fedorov Посмотреть сообщение
Тебе же просто g_name нужно передать в ListBox, после сохранение в БД? А зачем тогда такой огород?
Можно же после записи в БД, сразу g_name отправить в ListBox и всё.
Попробовал из второй формы передать в первую
C#
1
fr1.listBox4.Items.Add(name3);
проходит без ошибок, но в листбокс, name3, так и не попал.
0
36 / 32 / 23
Регистрация: 28.12.2015
Сообщений: 264
24.02.2017, 10:58 6
В Program.cs добавь:
C#
1
2
3
4
5
public static class Data
{
    public delegate void MyEvent(string data);
    public static MyEvent EventHandler;
}
В 1-ую форму (где ListBox) после InitializeComponent(); вставь:
C#
1
Data.EventHandler = new Data.MyEvent(ListBoxNameAdd);
И добавь метод:
C#
1
2
3
4
private void ListBoxNameAdd(string param)
{
    listbox1.Items.Add(param);
}
А на второй форме, после записи в БД, вставь:
C#
1
Data.EventHandler(textBox5.Text);
Или посмотри другие варианты передачи данных из формы: Ответы на 7 самых частых вопросов по WinForms
0
24.02.2017, 10:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2017, 10:58
Помогаю со студенческими работами здесь

Выбранный элемент ListBox одной формы перенести в ListBox на другую форму
проблема такая: в программе(в форме Form1) должна по нажатию кнопки открываться 2-я форма, в...

Перенос Items из Listbox 1-ой формы в Listbox 2-ой. Сохранение изменений
Добрый день, изучаю C#, пользуюсь Visual Studio 2015, Windows Forms. Проблема такова: На первой...

Перенос данных из ListBox формы1 в ListBox формы 2
как перенести заполненный листбокс из одной формы в новый лист бокс новой формы?

Как из одной формы добавить вручную строки в ListBox из другой формы?
Подскажите как из одной формы добавить вручную строки в листбокс из другой формы? case "DTI":...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru