Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 16.01.2018
Сообщений: 56

Кнопка обновления базы данных во второй форме

17.02.2018, 18:15. Показов 3805. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.Столкнулся с проблемой ,нужно во второй форме сделать редактирование datadridview,всё выводит в тексбоксы(это получилось),но не знаю как реализовать кнопку с обновлением.Может кто нибудь знает как решить проблему.
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void изменитьЗаписьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //orm2 f = new Form2(); // создаем
            //.ShowDialog(); // показываем
            Form2 myForm = new Form2();
            myForm.textBox6.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            myForm.textBox7.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            myForm.textBox8.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            myForm.textBox9.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            myForm.textBox10.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
            myForm.Show();
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2018, 18:15
Ответы с готовыми решениями:

Кнопка обновления на форме
Здравствуйте, на форме у меня есть два выпадающего списка и подчиненная форма. Я выбираю данные в списках и нажимаю на кнопку...

Кнопка "выбрать" в форме заполнения и просмотра базы данных
Доброго времени суток. Такой вопрос. Как реализовать кнопку "выбрать" в форме просмотра базы данных допустим "товары"? ...

Открыть форму в зависимости от того, какая кнопка была нажата на второй форме
В общем, у меня есть форма А. Из нее вызывается форма Б. Но решение, открыть форму Б или нет, принимается в форме В. Т.е. перед открытием...

6
135 / 130 / 60
Регистрация: 16.06.2013
Сообщений: 527
17.02.2018, 22:32
lol123kek, смотри, очень советую, тебе все формы приложения объявить и инициализировать, как глобальные и статические, в Programm.cs. Это позволит легко и удобно работать с элементами форм.
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//Programm.cs
 
        /// <summary>
        /// Первая форма
        /// </summary>
        public static Form1 f1;
        /// <summary>
        /// Вторая форма
        /// </summary>
        public static Form2 f2;
 
 
 
        /// <summary>
        /// Инициализация всего
        /// </summary>
        private static void init()
        {
            f1 = new Form1();
            f2 = new Form2();
        }
 
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
                init();
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(f1);
        }

При таком варианте, функция вызова будет выглядеть:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
            Program.f2.textBox6.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            Program.f2.textBox7.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            Program.f2.textBox8.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            Program.f2.textBox9.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            Program.f2.textBox10.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
            Program.f2.Show();

А обратиться к контроллу из первой формы, по нажатию кнопку, на втором можно будет путём вызова публичной функции из первой формы:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
//Form1
 
public void fullValues(string val1, string val2, string val3/* И так далее...*/)
{
    dataGridView1.CurrentRow.Cells[1].Value = val1;
    dataGridView1.CurrentRow.Cells[2].Value = val2;
    dataGridView1.CurrentRow.Cells[3].Value = val3;
//и так далее...
}


А, вызов этой функции, из второй формы, соответственно будет выглядить, как:
Кликните здесь для просмотра всего текста
C#
1
Program.f2.fullValues(textBox6.Text, textBox7.Text, textBox8.Text/* И так далее...*/)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
18.02.2018, 12:35
Цитата Сообщение от Захарка Посмотреть сообщение
все формы приложения объявить и инициализировать, как глобальные и статические, в Programm.cs.
А я бы не советовал такое.
Цитата Сообщение от Захарка Посмотреть сообщение
Это позволит легко и удобно работать с элементами форм.
И сделает код попахивающим (мягко говоря, я реально-воняющим).
0
135 / 130 / 60
Регистрация: 16.06.2013
Сообщений: 527
18.02.2018, 12:59
insite2012, назовите пожалуйста конкретные минусы такого метода. И, уточню, возможно я неверно выразился, под "легко и удобно работать с элементами форм", я имел в виду взаимодействие с публичными методами других форм, без нагромождения других классов. Я действительно не совсем понимаю, почему хуже вызов публичного метода одной формы, объявленной в Program.cs, чем вызов события в той же форме, через делегат в статическом классе. Подскажите, что конкретно я упускаю.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
18.02.2018, 13:31
Цитата Сообщение от Захарка Посмотреть сообщение
назовите пожалуйста конкретные минусы такого метода.
А сами не можете понять? Ну пожалуйста, основной минус-то, что у вас (при таком подходе) все формы, классы и прочее прибиты гвоздями к друг другу, и малейшее изменение в одном из них тут же вызывает необходимость редактирования всего остального, что, согласитесь не прибавляет оптимизма. Ну и как следствие-одно без другого работать никак не сможет, то есть вы написали класс, прибили его к остальным-и все, в другом проекте, хоть и будет аналогичная ситуация и его можно было бы использовать, сделать это (не изменяя его код и не отдирая гвозди) уже не получится.
Пишите отдельные, малосвязанные компоненты, и пусть они знают друг о друге как можно меньше.
2
18.02.2018, 16:46

Не по теме:

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

0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18295 / 14219 / 5368
Регистрация: 17.03.2014
Сообщений: 28,896
Записей в блоге: 1
18.02.2018, 18:05
Захарка, еще один минус такого подхода в лишнем расходе памяти. Формы создаются даже если не понадобятся и живут до конца работы приложения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2018, 18:05
Помогаю со студенческими работами здесь

Обновления базы данных!
Всем привет! Я хочу обновить базу данных президентов! через скрипт! я новенький в этом деле многово непонемаю! поможете написать...

Не работает кнопка отправки данных в форме
Друзья! подскажите, что делать с кнопкой? почему-то не работает... &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;table...

Динамическое отбражение базы данных в модели без обновления окна
Привет, есть задача написать систему складского учета, нарисовал вот такое окошко в QtDesigner. Вопрос, можно ли в поле ScrollArea...

Вывод данных из базы данных в выпадающее поле в форме
Создаю выпадающее поле в форме, само поле появляется, но данные из базы данных почему-то не показывает. Делаю все по видео, не понимаю что...

Qt сохранение введенных данных во второй форме
Всем привет. Недавно пишу в Qt и пока не все понимаю. В общем создал форму - туда записываются данные, при нажатии кнопки открывается...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru