|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] WPF окна. Стиль None. Растянуть на весь экран. Проблемы с этим. |
|
.NET - [решено] WPF окна. Стиль None. Растянуть на весь экран. Проблемы с этим.
|
Новый участник Сообщения: 12 |
Профиль | Отправить PM | Цитировать
Понадобилось мне растянуть окно на весь экран. Делаю я это так:
//Глобальная переменная Window win = new Window(); //====================== //====== Это содержимое нужно куда нибудь вставить, например обработчик нажатия на кнопке ====== win.WindowState = System.Windows.WindowState.Maximized; win.WindowStyle = System.Windows.WindowStyle.None; win.Cursor = System.Windows.Input.Cursors.Hand; //Добавим кнопку "Закрыть" для удобства Button btnClose = new Button(); btnClose.FontSize = 48; btnClose.Content = "Закрыть"; btnClose.Margin = new Thickness(300, 400, 300, 400); btnClose.Click += new RoutedEventHandler(btnClose_Click); win.Content = btnClose; win.Show(); //================================================================================= //Обработчик закрытия этого окна void btnClose_Click(object sender, RoutedEventArgs e) { win.Close(); } Подскажите как можно обойти эту проблему? Или может это как то решается установкой каких нибудь свойств окна? Или может как-то возможно ограничить движение курсора внутри формы, пока её не закроют? Вот у меня справа по всему окну такая полоска: |
|
Отправлено: 23:52, 21-08-2010 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Проблема решилась сама собой, перезагрузил компьютер, проблема исчезла. Кто не понимает о чём вообще речь, вот видео (~314 kb) этой беды.
Я даже решил её так (не забываем это WPF, не WinForms): Но всё равно это не давало мне покоя. |
Отправлено: 12:33, 22-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Casper-SC, код перед съёмкой не менялся? Потому как закрывающейся кнопки на растянутом на весь экран окне не видно на нём.
Дабы она была видна Thickness(300, 400, 300, 400) нужно заменить на Thickness(20, 40, 30, 40) (координаты то не в пикселях, а в аппаратно-независимых единицах). Да и кнопка не должна быть закрывающейся, лучше указать Hide. Так как повторный вывод окна на весь экран вызовет проблему: win.Show() не отработает для окна которое уже закрыли. |
Отправлено: 19:55, 23-08-2010 | #3 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Вроде не менялся, я что-то не помню. Вот немного поправленный код:
//Глобальная переменная Window win = new Window(); //====================== //====== Это содержимое нужно куда нибудь вставить, например обработчик нажатия на кнопке ====== if (win == null) { win = new Window(); } win.WindowState = System.Windows.WindowState.Maximized; win.WindowStyle = System.Windows.WindowStyle.None; win.Cursor = System.Windows.Input.Cursors.Hand; //Добавим кнопку "Закрыть" для удобства Button btnClose = new Button(); btnClose.FontSize = 48; btnClose.Content = "Закрыть"; btnClose.Margin = new Thickness(100, 200, 100, 200); btnClose.Click += new RoutedEventHandler(btnClose_Click); win.Content = btnClose; win.Show(); //================================================================================= //Обработчик закрытия этого окна void btnClose_Click(object sender, RoutedEventArgs e) { win.Close(); win = null; } Добавлено позже: Вот выключил игру и все лишние программы закрыл, проблема осталась. Далее жму ПКМ на рабочем столе Windows 7 - "Персонализация", там выбираю другую тему, экран как бы дёргается, все ярлыки на рабочем столе перерисовываются, запускаю программу всё проблема исчезла. Что это может быть? И можно ли такую перерисовку сделать программно? И всё же может как-то довести до разработчиков Framework'a это можно? Просто эта беда у меня всегда появляется, после открытия игр. |
Отправлено: 06:40, 24-08-2010 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата Casper-SC:
Почитайте вот такой поиск: http://www.google.ru/search?sourceid...een+resolution http://www.c-sharpcorner.com/UploadF...esolution.aspx |
||
------- Отправлено: 07:03, 24-08-2010 | #5 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Вот именно, что проблема появляется всегда, разрешение по моему роли не играет. У меня монитор 1280х1024, во всех играх используется аналогичное. Думаю всё-таки это в самом Framework'e, что-то не учли или в чём там... Хотя ни знаю. А что ни у кого нету такой проблемы?
|
Отправлено: 08:34, 24-08-2010 | #6 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Casper-SC нет, проблемы не наблюдаю. Проверил на .NET3.0, .NET3.5 и .NET4.0 в ХР на 1024х768. Курсор всегда одним значком – указателем и никакой "руки".
Донести до разработчиков FW, можно например через сайт http://connect.microsoft.com/directory/ (см. Windows Presentation Foundation или Visual Studio and .NET Framework), необходима регистрация. |
Отправлено: 15:40, 24-08-2010 | #7 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Сдается мне, проблема не в FW, а в драйверах на видеокарту, как это ни банально Я имею в виду перерисовку.
|
------- Отправлено: 16:06, 24-08-2010 | #8 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Цитата Admiral:
Цитата Delirium:
======================================================= Подсказали, что причина может быть в сдвиге растянутой формы, после включения/выключения игры (ну это я и сам понимал в принципе), так как форма растянута на весь экран, то по её краям есть как бы рамка тонкая, вот если добавить в код это: То проблема отпадает. |
||
Последний раз редактировалось Casper-SC, 24-08-2010 в 19:29. Причина: Подсказали причину проблемы, вроде как решение найдено Отправлено: 16:53, 24-08-2010 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] как устранить автоматическое разворачивание окна на весь экран? | San_dr | Microsoft Windows 7 | 6 | 23-05-2014 23:51 | |
Разное - DOSовские окна на весь экран | akalibr | Microsoft Windows 2000/XP | 2 | 19-06-2010 14:08 | |
Фон растянуть по размеру окна | DorianLeroy | Вебмастеру | 2 | 22-01-2010 19:24 | |
Интерфейс - Затемнение панели задач и заголовка окна, при развертывании на весь экран. | amzir | Microsoft Windows 7 | 5 | 01-10-2009 18:16 | |
Открытие окна во весь экран. | Guest | Вебмастеру | 17 | 05-09-2004 01:55 |
|