Поместите форму в правом нижнем углу экрана в Visual Basic - PullRequest
9 голосов
/ 04 декабря 2009

Как я могу расположить форму в правом нижнем углу экрана при загрузке формы? Я использую Visual Basic 2010 Express.

Спасибо

РЕДАКТИРОВАТЬ: Я сделал это, и, кажется, работает отлично.

Dim x As Integer
Dim y As Integer
x = Screen.PrimaryScreen.WorkingArea.Width - 400
y = Screen.PrimaryScreen.WorkingArea.Height - 270
Me.Location = New Point(x, y)

Ответы [ 7 ]

8 голосов
/ 28 апреля 2011
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.Visible = True
    Dim x As Integer
    Dim y As Integer
    x = Screen.PrimaryScreen.WorkingArea.Width
    y = Screen.PrimaryScreen.WorkingArea.Height - Me.Height

    Do Until x = Screen.PrimaryScreen.WorkingArea.Width - Me.Width
        x = x - 1
        Me.Location = New Point(x, y)
    Loop

End Sub
6 голосов
/ 04 декабря 2009

Вам нужно изменить Form.StartPosition на Manual и изменить свойство Location формы

например, как вручную установить местоположение / позицию запуска формы?

или

VB.net - Начальная позиция формы сверху слева

с использованием Свойство Form.StartPosition и Свойство Form.Location

4 голосов
/ 10 октября 2013

Центр экрана:

Me.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - Me.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height - Me.Height) / 2)

Правый нижний угол экрана:

Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - Me.Width, Screen.PrimaryScreen.WorkingArea.Height - Me.Height)
3 голосов
/ 01 апреля 2013

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

Dim x As Integer
        Dim y As Integer
        x = Screen.PrimaryScreen.WorkingArea.Width - Me.Width
        y = Screen.PrimaryScreen.WorkingArea.Height - Me.Height
        Me.Location = New Point(x, y)
1 голос
/ 08 марта 2017

вы можете попробовать как

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.StartPosition = FormStartPosition.Manual Me.Location = Screen.GetWorkingArea(Me).Location End Sub

1 голос
/ 19 декабря 2016

Если вы хотите разместить форму на экране, курсор включен, используйте:

' Get Active Screen Cursor is On, rather than assuming user on PrimaryScreen
Dim scr As Screen = Screen.FromPoint(Cursor.Position)

Me.Location = New Point(scr.WorkingArea.Right - Me.Width, scr.WorkingArea.Bottom - Me.Height)
0 голосов
/ 04 декабря 2009

Вы можете циклически просматривать дочерние формы и выполнять некоторые вычисления на основе свойств сверху и слева (может потребоваться объединить эти вычисления со свойствами ширины и высоты в зависимости от того, что требуется для «слева внизу»)

НТН, Mark

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