Как в C# создать полноэкранное игровое черное окно на Windows Forms?
Есть форма. Как ее сделать черной и на весь экран? Как игровое окно, только пустое? Сделать размеры 1920 на 1080 или как?
Отслеживать
20.2k 6 6 золотых знаков 37 37 серебряных знаков 81 81 бронзовый знак
задан 27 апр 2018 в 12:11
John Berden John Berden
23 3 3 бронзовых знака
Полноэкранный режим != окно с размером на весь экран
27 апр 2018 в 12:31
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
BackColor = Color.Black; // чёрный цвет фона FormBorderStyle = FormBorderStyle.None; // отсутствие рамки WindowState = FormWindowState.Maximized; // полностью распахнутая форма
Отслеживать
ответ дан 27 апр 2018 в 12:35
Alexander Petrov Alexander Petrov
29k 5 5 золотых знаков 28 28 серебряных знаков 55 55 бронзовых знаков
- c#
- winforms
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как сделать форму на весь экран c
Платформа 8.2
при начале работы системы открываеться обработка. Как ее открыть чтобы не было видновиндовской панели, пуск, и стандартной панели 1С.
Видел такое на 1С 77 в конфигурации рарус магазин-спорттоваров в касе.
Посоветуйте решение!
ОбработкаОбмена = Обработки.ОбменРИБЧерезFTP.Создать();
ФормаОбмена = ОбработкаОбмена.ПолучитьФорму();
ФормаОбмена.РежимРабочегоСтола = ИСтИНА;
Результат = ФормаОбмена.ОткрытьМодально();
это не то! нужно отрыть так чтобы небыло видновиндовской панели, пуск, и стандартной панели 1С!!
в свойствах ярлыка в параметрах «макисимизированное»
а виндовую панель наверное скриптом прятать надо
если речь конечно не о графическом режиме
а, не, сетапы от прог так частенько делают..значит есть другой способ
что это за графический режим?
Нужно открыть вот как например в супермаркетах — форма и ничего лишнего! пуска — нет, файл, окна, сервис — в 1с тоже нет!
так спрячь панель.
как в обычном режиме это сделать — РежимРабочегоСтола..в управляемом — хз
Процедура в модуле формы:
// Режим: Истина — в полный экран, Ложь — В форме
Процедура ПеревестиВПолныйЭкран(Режим)
Если Режим Тогда
стрТекРазмерФормы = Новый Структура(«Ширина, Высота», Ширина, Высота);
Состояние = ?(Режим, «Свободное», «Обычное»);
ЭтаФорма[«РазрешитьСостояние» + Состояние] = Истина;
СостояниеОкна = ВариантСостоянияОкна[Состояние];
ЭтаФорма[«РазрешитьСостояние» + ?(Режим, «Обычное», «Свободное»)] = Ложь;
РежимРабочегоСтола = Режим;
Если НЕ Режим Тогда
(10) это в обычном режиме
Панель видны останется доступной — но НЕВИДИМОЙ.
Да и если в обработчиках формы (ПередЗакрытием, ПриЗакрытии, *Открытии. ) выполняются какие-то действия, необходимо, например, предусмотреть переменную с видимостью в модуле формы и ею отключать эти действия
C#. Как растянуть Form1 на весь клиентский экран?
Так, конечно, оно и выходит на весь монитор вроде как, НО! На одном разрешении экрана у меня все компоненты помещаются на форме, на другом они вылезают за края формы. Как справиться с этой проблемой?
P.S. По сути вопрос сводится к тому Как элементы пропорционально изменялись в размерах, оставаясь на своих местах, при разных разрешениях экрана?
- Вопрос задан более трёх лет назад
- 1396 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Разрабочик
В настройках формы есть «якоря», настройте их правильно и будет вам счастье
Как сделать форму на весь экран c
← →
MK ( 2002-02-16 18:28 ) [0]
Приветствую! Подскажите, пожалуйста, как развернуть форму на весь экран (fullscreen) и чтобы она была поверх всех.
← →
MK ( 2002-02-16 18:54 ) [1]
Забыл уточнить. Форма должна «перекрыть» панель задач Windows и окна других прог, установленных поверх остальных.
← →
LLL ( 2002-02-16 19:52 ) [2]
FormStyle fsStayOnTop
procedure TForm1.FormCreate(Sender: TObject);
begin
Top:=0;
Left:=0;
Height:=Screen.Height;
Width:=Screen.Width;
end;
← →
Yr2 ( 2002-02-16 20:55 ) [3]
еще проще: установить свойство формы WindowState:=wsMaximized;
см. также свойство Position
← →
MK ( 2002-02-16 21:49 ) [4]
К сожалению не работает ни то не другое. Нужно, чтобы форма была поверх панели задач Windows, поверх ВСЕХ окон всех приложений. Что-то слышал про SetWindowPos, но как и его ее использовать — не знаю.
← →
panov (M) ( 2002-02-16 22:16 ) [5]
Как вариант:
MainForm.Width := Screen.Width;
MainForm.Height := Screen.Height;
по таймеру выполнять:
SetWindowPos
SetActiveWindow
Application.Restore
← →
MK ( 2002-02-16 22:29 ) [6]
Этот «как вариант» как раз развернет форму на весь экран, но не накроет панель задач (это и требуется).
← →
Набережных С. ( 2002-02-16 22:39 ) [7]
SetWindowPos(Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,0);
BorderStyle:=bsNone.
← →
MK ( 2002-02-16 22:47 ) [8]
SetWindowPos поместил в OnCreate, в результате панель задач все таки осталась наверху — не пойму в чем дело.
← →
Набережных С. ( 2002-02-16 22:58 ) [9]
Попробуй «посадить» в OnShow.
← →
MK ( 2002-02-16 23:03 ) [10]
«Посадил» в OnShow — ничего. Буду дальше думать, наверно я достал всех уже.
← →
Набережных С. ( 2002-02-16 23:24 ) [11]
Проверь еще WindowState := wsNormal
← →
panov (M) ( 2002-02-16 23:26 ) [12]
>MK (16.02.02 22:29)
С чего это он не перекроет панель задач?
← →
panov (M) ( 2002-02-16 23:27 ) [13]
И проверь вот это пример:
SetWindowPos(Application.MainForm.Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,SWP_SHOWWINDOW);
SetActiveWindow(Application.MainForm.Handle);
Application.Restore;
← →
Almaz ( 2002-02-16 23:28 ) [14]
Попробуйте такой вариант:
Для формы устанавливаем:
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Затем в обработчике OnCreate пишем:
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMaximized;
end;
Получаем форму на весь экран и поверх всего, что можно.
IMHO ничего не получаем.
← →
Almaz ( 2002-02-16 23:41 ) [16]
>Набережных С.
А вы проверьте сначала.
← →
Набережных С. ( 2002-02-16 23:50 ) [17]
> Almaz © (16.02.02 23:41)
> >Набережных С.
> А вы проверьте сначала.
Да не требуется — и так ясно. А Вы проверьте.
← →
panov (M) ( 2002-02-16 23:50 ) [18]
>Almaz © (16.02.02 23:41)
Могут быть и другие подобные формы. У других приложений.
В этом случае может и не получиться.
← →
Набережных С. ( 2002-02-16 23:57 ) [19]
> panov (M) (16.02.02 23:50)
Любая форма другого приложения может перекрыть такое окно.
← →
panov (M) ( 2002-02-17 00:04 ) [20]
>Набережных С. (16.02.02 23:57)
У меня эту форму никакая другая перкрыть не может.
К тому же выполняется ээтот ког в обработчике таймера.
← →
Набережных С. ( 2002-02-17 00:13 ) [21]
Иду пробовать
← →
Almaz ( 2002-02-17 00:14 ) [22]
>Набережных С. (16.02.02 23:50)
>Да не требуется — и так ясно. А Вы проверьте.
Слишком вы самоуверены. Потрудитесь все-таки сначала проверять, потом говорить.
← →
Набережных С. ( 2002-02-17 00:37 ) [23]
>Almaz ©
>panov (M)
Приношу извинения и посыпаю голову пеплом! Большой сюрприз для меня, надо будет разобраться.
← →
Pat ( 2002-02-17 00:55 ) [24]
Вроде работает:
procedure TForm1.FormCreate(Sender: TObject);
var Rect:TRect;
begin
borderstyle:=bsnone;
left:=0;
top:=0;
width:=screen.Width;
height:=screen.Height;
GetWindowRect(handle,Rect);
SetWindowPos(Handle,HWND_TOPMOST,Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top, SWP_SHOWWINDOW);
end;
← →
LLL ( 2002-02-17 14:49 ) [25]
Странно, я проверял свой вариант.
Работает.
А вот в след. не перекывается панель задач.
← →
MK ( 2002-02-17 18:12 ) [26]
>Pat Спасибо! Работает.
Всем спасибо, кто отозвался!
← →
Almas ( 2002-02-19 06:05 ) [27]
а что если воспользоваться своиством формы align:=alClient