Windows форма, которая будет отображаться вверху на панели задач - PullRequest
0 голосов
/ 06 августа 2020

Используя VB. NET Я создаю форму с TopMost=True, FormBorderStyle=FixedDialog, ControlBox=False, text="", size 400x50. Я показываю эту форму над панелью задач Windows 10. Когда я нажимаю на панель задач, форма занимает только часть панели задач, форма перемещается за панель задач. Форма остается наверху, если ее перемещать по рабочей области экрана. Есть ли способ сохранить форму вверху над панелью задач Windows 10? Пример кода приведен ниже. С помощью клавиш со стрелками форму можно переместить для тестирования.

*** Добавлен пример кода UPDATE.

Public Class Form1
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
    Dim istep As Integer = 1
    If e.Alt Then istep = 10
    Select Case e.KeyCode
        Case Keys.Down
            Me.Top += istep
        Case Keys.Up
            Me.Top -= istep
        Case Keys.Left
            Me.Left -= istep
        Case Keys.Right
            Me.Left += istep
    End Select

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim b As Rectangle = My.Computer.Screen.Bounds
    Dim w As Rectangle = My.Computer.Screen.WorkingArea

    Me.Top = w.Height
    Me.Left = 500
End Sub

End Class

1 Ответ

0 голосов
/ 06 августа 2020

Вы можете изменить размер диалогового окна вручную в соответствии с размером экрана в функции Load формы. Код будет выглядеть примерно так (сообщение c# код):

    Location = new Point(0, 0);
    TopMost = true;
    var screen = Screen.FromHandle(Handle);
    Size = new Size(screen.Bounds.Width, screen.Bounds.Height);
...