Не могу удержать WinKey + Up от перемещения моей формы - PullRequest
2 голосов
/ 20 марта 2012

Я пытаюсь установить окно в правом нижнем углу моего экрана. Его FormBorderStyle установлен в None. Я не хочу, чтобы у пользователя была возможность перемещать его. К сожалению, если пользователь нажимает Winkey + Up (развернуть в Win7), он переместит форму в (0,0) на моем рабочем столе.

Я попытался сбросить местоположение в событии LocationChanged, но когда я изменил свойства Left / Top или Location, они фактически не изменились.

У кого-нибудь есть идеи, как мне решить эту проблему?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 20 марта 2012

Вы не можете программно изменить местоположение вашей формы, если оно развернуто.Вам нужно изменить свойство WindowState на FormWindowState.Normal, прежде чем пытаться установить его местоположение.

0 голосов
/ 20 марта 2012

Установите FormBorderStyle на один из FixedSingle, Fixed3D, FixedDialog или FixedToolWindow И , установите MaximizeBox и MinimizeBox на false.

0 голосов
/ 20 марта 2012

Вам нужен GlobalSystemHook, и это не тривиальная работа.
На этот URL (CodeProject) есть полезный пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...