powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / свернуть восстановить форму showDialog
6 сообщений из 6, страница 1 из 1
свернуть восстановить форму showDialog
    #39017538
Liberti2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!


Подскажите, есть ли решение.


У меня есть родительская форма на c#. на ней кнопка. при нажатии открывается дочерняя форма методом showDialog
Form2 form2 = new Form2();
form2.ShowDialog(this);

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

делаю так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 private void Parent_ClientSizeChanged(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == this.WindowState)
            {
                foreach (Parent frm in Application.OpenForms)
                {
                           frm.WindowState = FormWindowState.Minimized;      
                }

            }
            else
            {
                foreach (Parent frm in Application.OpenForms)
                {
                    frm.WindowState = FormWindowState.Normal;
                }
            }  
        }



проблема в том, что когда эти 2 формы сворачиваются, дочерняя форма закрывается. и при развороте остается только родительская форма. Предложенный мной способ не отражает сохранение Minimized или было например Maximizad

можно конечно сделать через form2.Show() enabled=true/false, но для моей проги не вариант
...
Рейтинг: 0 / 0
свернуть восстановить форму showDialog
    #39017540
Liberti2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так пробовал через winapi, но результат тот же

Код: c#
1.
2.
3.
4.
[DllImport("user32.dll")]
        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

 ShowWindow(hWnd, SW_MINIMIZE);
...
Рейтинг: 0 / 0
свернуть восстановить форму showDialog
    #39018007
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Liberti2,

Какое-то странное желание - сворачивать диалоговое окно
...
Рейтинг: 0 / 0
свернуть восстановить форму showDialog
    #39018287
Liberti2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
согласен, но все же это нужно сделать )
...
Рейтинг: 0 / 0
свернуть восстановить форму showDialog
    #39018858
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Liberti2,

Попробуйте так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    //Главная форма
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2(() => this.Visible = ! this.Visible);
            f.ShowDialog();
        }
    }





Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    
    //Диалоговая форма
    public delegate void MinimizeMainForm();

    public partial class Form2 : Form
    {
        public MinimizeMainForm minimizeMainForm;
        public Form2()
        {
            InitializeComponent();
        }

        public Form2(MinimizeMainForm minimizeMainForm) : this()
        {
            this.minimizeMainForm = minimizeMainForm;
        }

        private void Form2_SizeChanged(object sender, EventArgs e)
        {
            this.minimizeMainForm();
        }
    }
...
Рейтинг: 0 / 0
свернуть восстановить форму showDialog
    #39032907
Liberti2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня все получилось благодаря свойству this.Visible

Большое спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / свернуть восстановить форму showDialog
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]