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

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

  • автор:

Как в 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

Hakujin

Разрабочик

В настройках формы есть «якоря», настройте их правильно и будет вам счастье

Как сделать форму на весь экран 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

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

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