VB.Net Tutorial/GUI/Control Size Location

Материал из VB Эксперт
Перейти к: навигация, поиск

Control Dynamic Size Location

imports System
imports System.Drawing
imports System.Windows.Forms
public class ControlDynamicSizeLocation : inherits Form
  private WithEvents btnShow as Button
  public sub New()
    btnShow = new Button()
    btnShow.Parent = me
    Size = new Size(350,400)
    btnShow.Size = new Size(20, 20)
    OnResize(EventArgs.Empty)
  end sub
  protected overrides sub OnResize(ByVal e as EventArgs)
    MyBase.OnResize(e)
    
    
    btnShow.Location = new Point(me.ClientSize.Width/10, me.ClientSize.Height/10)
  end sub
  public shared sub Main() 
    Application.Run(new ControlDynamicSizeLocation())
  end sub
end class

Get Control Location and Size

imports System
imports System.Drawing
imports System.Windows.Forms
public class ControlSizeLocation : inherits Form
  Private WithEvents btnShow as Button
  Private WithEvents btnChange as Button
  public sub New()
    BackColor = Color.LightBlue
    ForeColor = Color.DarkBlue
    Size = new Size(350,200)
    btnShow = new Button()
    btnShow.Location = new Point(50,50)
    btnShow.Size = new Size(100,23)
    btnShow.Text = "Show"
    btnShow.Parent = me
    btnChange = new Button()
    btnChange.Location = new Point(200,50)
    btnChange.Size = new Size(100,23)
    btnChange.Text = "Change"
    btnChange.Parent = me
  end sub
  public shared sub Main() 
    Application.Run(new ControlSizeLocation())
  end sub
  private sub btnShow_Click(ByVal sender as object,ByVal e as EventArgs) Handles btnShow.Click
    Console.WriteLine("Button Bottom:  " + btnShow.Bottom.ToString())
    Console.WriteLine("Button Top:  " + btnShow.Top.ToString())
    Console.WriteLine("Button Left:  " + btnShow.Left.ToString())
    Console.WriteLine("Button Right:  " + btnShow.Right.ToString())
    Console.WriteLine("Button Location: " + btnShow.Location.ToString())
    Console.WriteLine("Button Width:  " + btnShow.Width.ToString())
    Console.WriteLine("Button Height:  " + btnShow.Height.ToString())
    Console.WriteLine("Button Size:  " + btnShow.Size.ToString())
    Console.WriteLine("Button ClientSize:  " + btnShow.ClientSize.ToString())
    Console.WriteLine("Form Size:  " + me.Size.ToString())
    Console.WriteLine("Form ClientSize: " + me.ClientSize.ToString())
  end sub
  private sub btnChange_Click(ByVal sender as object,ByVal e as EventArgs)Handles btnChange.Click
    me.Size = new Size(800,200)
  end sub
end class

Resize controls

Imports System.Windows.Forms
public class FormResizeEvent
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class
Public Class Form1
    Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
        GroupBox1.Top = 0
        GroupBox1.Left = 0
        GroupBox1.Width = Me.Width
        GroupBox1.Height = Me.Height
        Label1.Left = GroupBox1.Top + 10
        Label1.Top = GroupBox1.Left + 20
        TextBox1.Top = Label1.Top + 50
        TextBox1.Left = Label1.Left
        TextBox1.Width = GroupBox1.Width - 20
    End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _
Partial Class Form1
    Inherits System.Windows.Forms.Form
    "Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub
    "Required by the Windows Form Designer
    Private components As System.ruponentModel.IContainer
    "NOTE: The following procedure is required by the Windows Form Designer
    "It can be modified using the Windows Form Designer.  
    "Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.TextBox1 = New System.Windows.Forms.TextBox
        Me.Label1 = New System.Windows.Forms.Label
        Me.GroupBox1.SuspendLayout()
        Me.SuspendLayout()
        "
        "GroupBox1
        "
        Me.GroupBox1.Controls.Add(Me.TextBox1)
        Me.GroupBox1.Controls.Add(Me.Label1)
        Me.GroupBox1.Location = New System.Drawing.Point(12, 12)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(392, 195)
        Me.GroupBox1.TabIndex = 0
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "GroupBox1"
        "
        "TextBox1
        "
        Me.TextBox1.Location = New System.Drawing.Point(32, 62)
        Me.TextBox1.Multiline = True
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.Size = New System.Drawing.Size(331, 21)
        Me.TextBox1.TabIndex = 5
        "
        "Label1
        "
        Me.Label1.AutoSize = True
        Me.Label1.Location = New System.Drawing.Point(30, 30)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(41, 12)
        Me.Label1.TabIndex = 4
        Me.Label1.Text = "Label1"
        "
        "Form1
        "
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(416, 219)
        Me.Controls.Add(Me.GroupBox1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.GroupBox1.ResumeLayout(False)
        Me.GroupBox1.PerformLayout()
        Me.ResumeLayout(False)
    End Sub
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
    Friend WithEvents Label1 As System.Windows.Forms.Label
End Class

Set Control Bounds

Imports System.Windows.Forms
public class FormLayoutEvent
   public Shared Sub Main
        Application.Run(New GridForm)
   End Sub
End class
Public Class GridForm
    Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
    Public Sub New()
        MyBase.New()
        "This call is required by the Windows Form Designer.
        InitializeComponent()
        "Add any initialization after the InitializeComponent() call
    End Sub
    "Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
    "Required by the Windows Form Designer
    Private components As System.ruponentModel.IContainer
    "NOTE: The following procedure is required by the Windows Form Designer
    "It can be modified using the Windows Form Designer.  
    "Do not modify it using the code editor.
    Friend WithEvents button1 As System.Windows.Forms.Button
    Friend WithEvents button2 As System.Windows.Forms.Button
    Friend WithEvents button3 As System.Windows.Forms.Button
    Friend WithEvents button4 As System.Windows.Forms.Button
    Friend WithEvents button5 As System.Windows.Forms.Button
    Friend WithEvents button6 As System.Windows.Forms.Button
    Friend WithEvents button7 As System.Windows.Forms.Button
    Friend WithEvents button8 As System.Windows.Forms.Button
    Friend WithEvents button9 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.button1 = New System.Windows.Forms.Button()
        Me.button2 = New System.Windows.Forms.Button()
        Me.button3 = New System.Windows.Forms.Button()
        Me.button4 = New System.Windows.Forms.Button()
        Me.button5 = New System.Windows.Forms.Button()
        Me.button6 = New System.Windows.Forms.Button()
        Me.button7 = New System.Windows.Forms.Button()
        Me.button8 = New System.Windows.Forms.Button()
        Me.button9 = New System.Windows.Forms.Button()
        Me.SuspendLayout()
        "
        "button1
        "
        Me.button1.Location = New System.Drawing.Point(8, 8)
        Me.button1.Name = "button1"
        Me.button1.Size = New System.Drawing.Size(75, 75)
        Me.button1.TabIndex = 7
        Me.button1.Text = "1"
        "
        "button2
        "
        Me.button2.Location = New System.Drawing.Point(88, 8)
        Me.button2.Name = "button2"
        Me.button2.Size = New System.Drawing.Size(75, 75)
        Me.button2.TabIndex = 6
        Me.button2.Text = "2"
        "
        "button3
        "
        Me.button3.Location = New System.Drawing.Point(168, 8)
        Me.button3.Name = "button3"
        Me.button3.Size = New System.Drawing.Size(75, 75)
        Me.button3.TabIndex = 9
        Me.button3.Text = "3"
        "
        "button4
        "
        Me.button4.Location = New System.Drawing.Point(8, 88)
        Me.button4.Name = "button4"
        Me.button4.Size = New System.Drawing.Size(75, 75)
        Me.button4.TabIndex = 8
        Me.button4.Text = "4"
        "
        "button5
        "
        Me.button5.Location = New System.Drawing.Point(88, 88)
        Me.button5.Name = "button5"
        Me.button5.Size = New System.Drawing.Size(75, 75)
        Me.button5.TabIndex = 5
        Me.button5.Text = "5"
        "
        "button6
        "
        Me.button6.Location = New System.Drawing.Point(168, 88)
        Me.button6.Name = "button6"
        Me.button6.Size = New System.Drawing.Size(75, 75)
        Me.button6.TabIndex = 2
        Me.button6.Text = "6"
        "
        "button7
        "
        Me.button7.Location = New System.Drawing.Point(8, 168)
        Me.button7.Name = "button7"
        Me.button7.Size = New System.Drawing.Size(75, 75)
        Me.button7.TabIndex = 1
        Me.button7.Text = "7"
        "
        "button8
        "
        Me.button8.Location = New System.Drawing.Point(88, 168)
        Me.button8.Name = "button8"
        Me.button8.Size = New System.Drawing.Size(75, 75)
        Me.button8.TabIndex = 4
        Me.button8.Text = "8"
        "
        "button9
        "
        Me.button9.Location = New System.Drawing.Point(168, 168)
        Me.button9.Name = "button9"
        Me.button9.Size = New System.Drawing.Size(75, 75)
        Me.button9.TabIndex = 3
        Me.button9.Text = "9"
        "
        "Form1
        "
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(248, 246)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.button1, Me.button2, Me.button3, Me.button4, Me.button5, Me.button6, Me.button7, Me.button8, Me.button9})
        Me.Name = "Form1"
        Me.Text = "Grid Layout Example"
        Me.ResumeLayout(False)
    End Sub
#End Region
    Private Sub GridForm_Layout(ByVal sender As Object, ByVal e As System.Windows.Forms.LayoutEventArgs) Handles MyBase.Layout
        Dim buttons As Button() = New Button() {button1, button2, button3, button4, button5, button6, button7, button8, button9}
        Dim cx As Integer = ClientRectangle.Width / 3
        Dim cy As Integer = ClientRectangle.Height / 3
        Dim row As Integer = 0
        Do While row < 3
            Dim col As Integer = 0
            Do While col < 3
                Dim b As Button = buttons(col * 3 + row)
                b.Text = "Button"
                b.SetBounds(cx * row, cy * col, cx, cy)
                col = col + 1
            Loop
            row = row + 1
        Loop
        SetClientSizeCore(cx * 3, cy * 3)
    End Sub
End Class