Перейти к содержимому

Как сделать форму невидимой c

  • автор:

Как сделать форму невидимой c

Здравствуйте, смирнов альберт, Вы писали:

СА>в смысле сразу , visible в false установить . пробовал помещать в обработчик Load . ничего не вышло.
Я тоже с этим сталкивался, когда надо было чтобы окно не отображалось, а было свернуто в трей, пришлоси посавить таймер и через секунду только сворачивать, кстати из=зи этого у некоторых прогамм при загрузке виндов окно появляется на секунду и исчезает. Но может есть какое-то более рачиональное решение

Re[2]: C#. сделать начальную форму невидимой

От: Andre
Дата: 16.03.03 12:17
Оценка:

Здравствуйте, Mintchenkov, Вы писали:

M>. этого у некоторых прогамм при загрузке виндов окно появляется на секунду и исчезает. Но может есть какое-то более рачиональное решение

Свойство WindowState установить в Minimized

:: RSDN@Home 1.0 beta 5 :: Dilated Peoples — Certified Officials (Bonus)
Я бы изменил мир — но Бог не даёт исходников.
Re[3]: C#. сделать начальную форму невидимой

От: VladD2 www.nemerle.org
Дата: 17.03.03 14:53
Оценка:

Здравствуйте, Andre, Вы писали:

А зачем вам вообще окно?

Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: C#. сделать начальную форму невидимой

От: Helper
Дата: 17.03.03 15:17
Оценка:

Здравствуйте, смирнов альберт, Вы писали:

СА>в смысле сразу , visible в false установить . пробовал помещать в обработчик Load . ничего не вышло.
Либо я что-то не понимаю. Либо фиг его знает.
Форма, которая загружается по Application.Run(. ) должна быть видима! Иначе, зачем его создавать.
Другой вопрос, что нам надо выполнить ряд шаманских действий, а уж потом загрузить (читай показать) окно программы.
Тогда никто нам не мешает в Main() вставить что там еще нам надо до запуска формы.

Другой вопрос, если речь идет о нефизуальном приложении. Сервис что-ли? Тогда форма не только не нужна, но и крайне вредна для здоровья.

Re: C#. сделать начальную форму невидимой

От: mihailik
Дата: 20.03.03 10:20
Оценка:

СА>в смысле сразу , visible в false установить . пробовал помещать в обработчик Load . ничего не вышло.

Сделай Application.Run(), то есть без параметров.
А форму нужно создать до Application.Run. Чтобы потом получить управление, нужно какой-нибудь типичный метод использовать, например Timer.

Потому, что при попадании в Application.Run программа начинает крутится в очереди сообщений и управление не отдаёт до самой кончины. Собственно, если тебе это подходит, то ладно. Если же после всякой мурни-хурни нужно-таки форму отобразить, придётся в очереди сообщений что-то обработать. Можно, конечно, вешать там разные хуки или message-фильтры, но проще всего — через таймер.

Как известно WinForms-таймер работает через оконные сообщения. Так что если поставить там Interval=1, то сообщение должно будет появиться сразу, ну почти моментально. Но пока не запущен Application.Run, оно не обработается. Так что вот.

Как сделать форму прозрачной, а контролы неизменными? [дубликат]

введите сюда описание изображения

Как сделать форму прозрачной, а контролы оставить без изменения? При TransparencyKey = BackColor получается вот как

Отслеживать
Александр Пузанов
задан 19 дек 2016 в 7:19
Александр Пузанов Александр Пузанов
2,785 5 5 золотых знаков 32 32 серебряных знака 64 64 бронзовых знака

c# наследует с++, по идее это означает что нужно создать «дырявый» регион createregion и назначить его окну stackoverflow.com/questions/308667/…

19 дек 2016 в 7:41

ru.stackoverflow.com/a/487760/198316 возможно подойдет, просто сделайте тоже самое для формы, вместо панели

20 дек 2016 в 0:01
а контролы без изменения.
21 дек 2016 в 6:09

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Задайте этому свойству такой же цвет, как у фона формы. Как результат, фон формы станет прозрачным.

TransparencyKey = BackColor; 

Учтите, что этот цвет станет прозрачным на всех контролах формы. Поэтому, вероятно, придётся либо свойству BackColor назначить какой-нибудь экзотичный малоиспользуемый цвет, либо у каждого контрола индивидуально его менять.

Как сделать форму невидимой c

Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.6.2007

Репутация: нет
Всего: 1

Изучаю .net и c# — столкнулся с такой проблемой, пытаюсь поместить в конструтктор, код который скрывает форму и вызывает диалог аутентификации.

Код
public partial class Form1 : Form

public Form1()
InitializeComponent();

В результате Form1 все ранво видно на экране, хотя если строку

Код
this.Hide()
Код
this.Visible=false

разметсить в методе который обрабатывает нажатие кнопки, то Form1,оказывается скрытой. Подскажите что я делаю не так?

Дата 22.12.2008, 11:51 (ссылка) | (нет голосов) Загрузка .

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67

bio_hazard, а если в дизайнере выставить Visible по умолчанию в false? =)
СУВ,
Partizan.

Дата 22.12.2008, 11:58 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.6.2007

Репутация: нет
Всего: 1

Я честно говоря найти не могу в дизайнере где для form1 можно выстаивть visible в false, и мне хотелось бы научится делать это вручную из кода программы

Дата 22.12.2008, 15:07 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 34
Регистрация: 17.12.2008

Репутация: 2
Всего: 1

Цитата(bio_hazard @ 22.12.2008, 11:58)
Я честно говоря найти не могу в дизайнере где для form1 можно выстаивть visible в false, и мне хотелось бы научится делать это вручную из кода программы

Обшето он хочет сделать форму невидимой, то сделай форму прозрачной.
Свойство на букву : «O»

Дата 25.12.2008, 14:22 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Цитата
Свойство на букву : «O»

this.Opacity = 0.3;
после равно выставляешь степень прозрачности.

Это сообщение отредактировал(а) kuller — 25.12.2008, 14:23

Дата 12.1.2009, 18:38 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 171
Регистрация: 1.5.2007
Где: Днепропетровск

Репутация: нет
Всего: 1

в конструкторе нельзя, там где запускается экземпляр Form1 потом сделай ему хайд

Дата 14.1.2009, 09:59 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 31
Регистрация: 23.10.2007

Репутация: нет
Всего: нет

bio_hazard, если стоит задача вызова окна аутентификации до старта основного окна, то можно поместить вызов окна аутентификации в обработчик события Load для Form1, а не в Main

Код
private AuthForm authForm;

Это сообщение отредактировал(а) EAV — 14.1.2009, 10:14

Как сделать форму невидимой c

Визуальное скрытие элементов графического интерфейса

Всем доброго времени суток! В этой статье я расскажу о том, как можно скрывать (делать невидимыми для пользователя) элементы графического интерфейса, например, кнопки, или поля ввода текста. Скрывать элементы интерфейсы в Windows Forms приложениях можно как до компиляции приложения, так и после этого (во время выполнения приложения). При этом, скрытые элементы интерфейса, в дальнейшем, можно сделать видимыми, что дает программисту возможность создавать более удобные в использовании приложения.

Скрываем кнопку до компиляции приложения

Сначала, я покажу как можно сделать невидимым элемент графического интерфейса до компиляции программы. В таком случае, после компиляции и запуска программы, скрытый элемент сразу будет невидим пользователю. Элементы графического интерфейса пользователя делаются невидимыми с помощью установки свойству «Visible» значения false, в окне свойств («Properties»). На рисунке ниже, показан фрагмент IDE MS Visual Studio, в котором для кнопки с текстом «Скрываемая кнопка» в окне «Properties» я установил свойству «Visible» значение false.

Визуальное скрытие кнопки в дизайнере

Визуальное скрытие кнопки в дизайнере

Теперь, если скомпилировать приложение и запустить его, то кнопки с текстом «Скрываемая кнопка» не будет видно на форме (и естественно, на неё нельзя будет «нажать»).

Скрываем кнопку в процессе выполнения приложения

Чтобы скрыть кнопку в процессе выполнения приложения (например, при загрузке формы, мы проверяем некое условие, и если оно выполнилось, мы делаем кнопку невидимой) нужно в коде установить всё тому же свойству «Visible» из значение false. Пример, в котором я делаю кнопку с названием (именем) «btnSimple» невидимой приведен ниже:

//При загрузке формы private void fMain_Load(object sender, EventArgs e) < //Допустим, тут мы проверяем какое-то условие и оно выполнилось. //Теперь нужно скрыть кнопку, что мы и делаем ниже! //Делаем невидимой кнопку с именем btnSimple btnSimple.Visible = false; >

Если нам нужно будет потом сделать кнопку снова видимой для пользователя, то достаточно будет в нужном месте написать следующую строку кода:

//Делаем невидимой кнопку с именем btnSimple btnSimple.Visible = true;

Вот собственно и всё.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *