Sufian Matloob Ответов: 2

Как ограничить отображение нескольких окон формы на панели задач и открыть их


Я разрабатываю очень простое настольное приложение на языке c#.
Я знаю, что у меня есть много форм для различных операций, все работает нормально.
Но проблема, с которой я сталкиваюсь, заключается в том, что,
Предположим, я открываю форму 2, затем форму 3 , затем форму 4.
На панели задач он показывает 4 различных формы(как приложения). Поэтому я хочу, чтобы он не показывал несколько задач на панели задач только в основной форме, а во-вторых, любая форма orher не могла быть открыта до тех пор, пока предыдущая форма, которая в данный момент открыта, не будет закрыта.
За один раз должна быть открыта только одна форма.
Как мне реализовать эту стратегию? Извините за код, который я не могу опубликовать прямо сейчас.

Что я уже пробовал:

Я понятия не имею об этом, я очень новичок в разработке настольных компьютеров

BillWoodruff

Зачем иметь несколько форм, Если вы показываете их "по одной за раз" ?

У меня есть некоторые идеи (и код для обмена) о том, как управлять этим, но, прежде чем я опубликую, я хотел бы знать, каковы роли форм: есть ли одна основная форма, которая всегда видна, а другие формы-это инструментальные палитры ... или ... существует ли несколько независимых форм одного и того же типа ?

2 Ответов

Рейтинг:
2

Wendelius

Суфий Матлуб писал::
и во-вторых, любая форма orher не может быть открыта до тех пор, пока предыдущая форма, которая в данный момент открыта, не будет закрыта.
За один раз должна быть открыта только одна форма.

Судя по описанию, вы хотите открыть другую форму как модальную. Если это так, то вам нужно использовать Метод Form.ShowDialog (System.Окна.Формы)[^]

Например
Form2 f2 = new Form2();
f2.ShowDialog(this);

Кроме того, как объяснялось в предыдущем ответе, чтобы предотвратить отображение формы на панели задач, установите свойству ShowInTaskBar значение false.


BillWoodruff

Проголосовал #1

В этом посте нет ничего, что предполагало бы использование модального показа формы.

Подумайте, прежде чем писать.

Wendelius

Я вынужден с этим не согласиться.

ОП писал: "во-вторых, любая форма orher не может быть открыта до тех пор, пока предыдущая форма, которая была открыта в данный момент, не будет закрыта." Я даже включил это в качестве цитаты в решение.

BillWoodruff

Хорошо, я понимаю вашу точку зрения, и что ваше предложение разумно, основываясь на том, что мы знаем из операции в настоящее время. Я меняю свой голос на #5 :)

Wendelius

Спасибо :)

Рейтинг:
2

Krunal Rohit

Вы можете сформировать свой логин с помощью Форма.Свойство ShowInTaskbar (System.Окна.Формы)[^].
Видеть -

// Do not allow form to be displayed in taskbar.
myForm.ShowInTaskbar = false;



КР.