2017-01-28 2 views
0

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

EDIT:
Я сделал вид без полей, установив 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 
+0

Можете вы добавить для нас код, чтобы посмотреть его? – Faegy

+0

Как вы установили свою форму border-less (какие свойства вы установили)? –

+0

@ S.Serp Я сделал форму без полей, установив свойство формы FormBorderStyle равным None – Wiz

ответ

1

Добавьте это в случае Form_Load:

Me.Size = New Size(93, 31) 

Также убедитесь, что вы установили AutoScaleMode в «None» в дизайне tim e

+0

Спасибо. Это работало как шарм, но только заменив «это» на «Я» и удалив точки с запятой и фигурные скобки. – Wiz

+0

Я обновил его мгновенно, как это было в синтаксисе C#, в любом случае, рад видеть, что это помогло вам –

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