Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
10 / 8 / 3
Регистрация: 14.12.2018
Сообщений: 60

Активация нескольких форм

19.04.2019, 17:36. Показов 1902. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такой глупый вопрос появился..
Есть оконное приложение из двух форм, главная и форма поиска по главной. Допустим мы вызвали, по комбинации клавиш, форму поиска. Нашли что нам надо. Свернули обе форме. Как сделать так, что если я активирую главную форму - активируется главная и форма поиска. И то же самое, если активирую форму поиска, чтобы активировалась главная форма, и после неё активировалась форма поиска, надеюсь понятно изложил глупый вопрос(
ShowDialog() не подходит(
Вернее подходит, но не совсем(
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.04.2019, 17:36
Ответы с готовыми решениями:

Отключение/включение (активация/де активация) одновременно всех (нескольких) компонентов на форме
Добрый день коллеги! Возник такой вопрос. Допустим, есть форма с множеством элементов ввода, кнопок, в общем всевозможных компонентов....

Передача значений из нескольких форм
Всем привет) В ходе выполнения очередной лабы мне понадобилось передать полученные в ходе соответствующих вычислений значения 2 и 3...

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

7
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
19.04.2019, 22:10
Чайник1234, попробуйте так:
C#
1
2
3
4
5
6
//При изменении размера формы (событие происходит также при сворачивании и разворачивании окна)
protected override void OnSizeChanged(EventArgs e)
{
    base.OnSizeChanged(e);
    seachForm.WindowState = WindowState == FormWindowState.Normal ? FormWindowState.Normal : FormWindowState.Minimized;
}
1
10 / 8 / 3
Регистрация: 14.12.2018
Сообщений: 60
20.04.2019, 18:23  [ТС]
Спасибо, теперь я знаю что надо менять WindowsState)
Касательно вашего кода, не уверен, что это то, что мне нужно(
Или же я что-то неправильно написал, но в итоге выдает ошибку(
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.04.2019, 18:34
Цитата Сообщение от Чайник1234 Посмотреть сообщение
Или же я что-то неправильно написал, но в итоге выдает ошибку(
Ну это код то просто для примера... В рабочей программе этого недостаточно))) Во-первых, у Вас, наверняка, нет переменной с именем seachForm, а форма поиска называется как то иначе. А, во-вторых, для того, чтобы этот код сработал, экземпляр формы поиска должен быть видим во всем классе и форма должна быть открыта. Соответственно, нужно предварительно делать проверку, чтобы не было исключения.

Добавлено через 2 минуты
Цитата Сообщение от Чайник1234 Посмотреть сообщение
не уверен, что это то, что мне нужно
Данный код делает зависимость состояния формы seachForm от состояния основной формы. Т.е. seachForm будет сворачиваться если свернуть основную форму и разворачиваться, если основная развернута
0
10 / 8 / 3
Регистрация: 14.12.2018
Сообщений: 60
20.04.2019, 18:36  [ТС]
вы ошиблись, у меня есть форма searchForm)
и наконец-то появилась идея, как это можно реализовать, знать бы ещё как сделать форму поиска активной, и можно сказать - задание решили)
Activate() увы не срабатывает(
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private void WorkForm_SizeChanged(object sender, EventArgs e)
        {
            if (ActiveSearchForm == true)
            {
                switch (this.WindowState)
                {
                    case FormWindowState.Minimized:
                        searchForm.WindowState = FormWindowState.Minimized;
                        break;
                    case FormWindowState.Normal:
                        searchForm.WindowState = FormWindowState.Normal;           
                        break;
                    case FormWindowState.Maximized:
                        searchForm.WindowState = FormWindowState.Normal; 
                        break;
 
                }
            }
        }
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.04.2019, 18:52
Лучший ответ Сообщение было отмечено Чайник1234 как решение

Решение

Цитата Сообщение от Чайник1234 Посмотреть сообщение
знать бы ещё как сделать форму поиска активной
TopMost не подойдет?

Добавлено через 26 секунд
Цитата Сообщение от Чайник1234 Посмотреть сообщение
вы ошиблись, у меня есть форма searchForm
Ну, у умных людей мысли сходятся)))))))))))
1
10 / 8 / 3
Регистрация: 14.12.2018
Сообщений: 60
20.04.2019, 19:01  [ТС]
Подошло, спасибо:3
Ваш код мне пока непонятен, впервые вижу такой способ записи, не говоря уже о попытке переписать его под свои требования, по этому, как решение на подобную "не баг, а фича" пусть побудет пример моего кода, думаю людям с навыками чуть выше чайника это будет более понятно)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private void WorkForm_SizeChanged(object sender, EventArgs e)
        {
            if (ActiveSearchForm == true)
            {
                switch (this.WindowState)
                {
                    case FormWindowState.Minimized:
                        searchForm.WindowState = FormWindowState.Minimized;
                        break;
                    case FormWindowState.Normal:
                        searchForm.WindowState = FormWindowState.Normal;
                        searchForm.TopMost = true;
                        break;
                    case FormWindowState.Maximized:
                        searchForm.WindowState = FormWindowState.Normal;
                        searchForm.TopMost = true;
                        break;
                }
            }
        }
Ещё раз спасибо
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.04.2019, 19:06
Цитата Сообщение от Чайник1234 Посмотреть сообщение
впервые вижу такой способ записи
Если интересно, почитайте про ?: Оператор. Фактически это более короткий способ записи if-else. Удобная штука! Рекомендую к использованию.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2019, 19:06
Помогаю со студенческими работами здесь

Одна функция для нескольких форм
Ребят у меня такой вопрос: Как сделать одну функцию, чтобы она работала во всех формах? Она должна при загрузке каждой формы создавать...

Одна структура для нескольких форм
Привет, форум. Имеются несколько форм, у каждой формы есть одинаковые контролы и свои уникальные. В дальнейшем, возможно, еще будут формы...

Как сократить код из нескольких форм
Имеется несколько форм (планируется создать порядка 15-20). Во многих формах код будет повторяться и будет абсолютно идентичным, занимая...

Закрытие нескольких форм, вызванных ShowDialog
Добрый вечер. Возник вопрос: я делаю окно, позволяющее зарегистрировать пользователя. По нажатию на кнопку "Войти как...

Сохранение текста из нескольких дочерних форм
Пишу многооконный текстовый редактор: Необходимо реализовать следующее: При закрытии родительской формы необходимо выводить окна с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru