Форма без полей автоматически изменяется во время выполнения в vb .net

Я создал небольшую форму без полей, используя vb.net. Форма содержит три квадратных кнопки. Размер формы (93, 31). Все хорошо во время проектирования формы, но когда я запускаю программу, размер формы увеличивается примерно до (98,34). Я даже переключился между истинным и ложным для свойства autosize формы, чтобы проверить, не является ли оно причиной проблемы, но эта подсказка помогает.
Как мне остановить изменение размера формы?

РЕДАКТИРОВАТЬ:
Я сделал форму без полей, установив для свойства FormBorderStyle формы значение None.

Вот код

Public Class OSD_Dialog

Dim drag As Boolean
Dim mousex As Integer
Dim mousey As Integer

' The folllowing three subs are helpfull in making the form dragable

  Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    drag = True
    mousex = Windows.Forms.Cursor.Position.X - Me.Left
    mousey = Windows.Forms.Cursor.Position.Y - Me.Top
End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    If drag Then
        Me.Top = Windows.Forms.Cursor.Position.Y - mousey
        Me.Left = Windows.Forms.Cursor.Position.X - mousex
    End If
End Sub

Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
    drag = False
End Sub

'The following sub is helpful in creating an outline on the border of the form

 Protected Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
    MyBase.OnPaintBackground(e)

    Dim rect As New Rectangle(0, 0, Me.ClientSize.Width - 1, Me.ClientSize.Height - 1)

    e.Graphics.DrawRectangle(Pens.White, rect)
End Sub

Private Sub OSD_Dialog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.TopMost = True
    Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)

    Me.BackColor = Color.Red
    TransparencyKey = BackColor

End Sub

1 ответ

Решение

Добавьте это к вашему событию Form_Load:

Me.Size = New Size(93, 31)

Также убедитесь, что вы установили AutoScaleMode "Нет" во время разработки

Другие вопросы по тегам