2013-04-13 2 views
1

Это будет первый из многих вопросов, которые я уверен.Как контролировать, где загружается форма

Я начинаю создавать приложение на VB.net, и я не очень хорошо знаком с этим языком. Я пытаюсь создать приложение на основе значка в системном трее, и я имею в виду, что при запуске приложения не должно быть загруженной начальной формы, просто значок в системном трее.

Оттуда мне нужно сделать две вещи. Я бы хотел, чтобы «на мыши», чтобы всплывать форму прямо над системным лотком, и «двойным щелчком» открыть ее в середине экрана компьютера.

Я успешно использовать «статическое» размещение {Me.Location = New Point(800, 390)}

я могу получить окно/форму, чтобы открыть, где я хочу их, но проблема в том, когда я изменяю к другому компьютеру, они не делают открыть в правильном месте. Мне нужен способ убедиться, что формы открыты в правильном месте независимо от разрешения экрана.

Может кто-нибудь порекомендовать то, что я должен Google, чтобы узнать больше о размещении формы или, возможно, даже ссылке. Будучи настолько новым для этого языка, мои попытки Google потерпели неудачу, и мне нужно больше направлений и немного рук, пока я не получу терминологию и идею того, что я ищу, ...

ответ

0

вы можете использовать Me.CenterToScreen чтобы центрировать его на экране пользователя, и, насколько я знаю, что это лучшее, что вы можете сделать

+0

Ну, мне нужно, чтобы он появился прямо над панелью задач. Использование: Me.Location = New Point (_ Screen.PrimaryScreen.Bounds.Width - 1000, _ Screen.PrimaryScreen.Bounds.Height) , а затем настройки таймера с: , если я = 2000 Тогда Me.Close() End If Если не Me.Location.Y = Screen.PrimaryScreen.Bounds.Height - 410 Тогда Me.Location = New Point (Me.Location.X, Me.Location.Y - 2) End If Я могу сделать это с любовью ... Должен ли я использовать другой язык? Я знаю, что мне нужно, я основываю его на другом приложении .net. –

0

в форме свойств Существует свойство StartUpPosition установить его CenterScreen

2

Если вы хотите динамически разместить ваша форма основана на размере рабочего стола, проверьте:

SystemInformation.VirtualScreen.Width 
SystemInformation.VirtualScreen.Height 

... и переместите форму на основе этих динамических значений. например

Me.Location = New Point(SystemInformation.VirtualScreen.Width - Me.Width, SystemInformation.VirtualScreen.Height - Me.Height) 

Для получения дополнительной информации о VirtualScreen, проверьте MSDN:

http://msdn.microsoft.com/en-us/library/system.windows.forms.systeminformation.virtualscreen.aspx

VirtualScreen даст вам общий размер и ширину нескольких мониторов, так что в качестве альтернативы, вы можете также просто посмотреть на основной экран, например

Screen.PrimaryScreen.WorkingArea.Width 
Screen.PrimaryScreen.WorkingArea.Height 
+0

Это точно так же, как и я. Я начну исследования, и я не могу вас поблагодарить! –

Смежные вопросы