[vb.net] Class điều khiển vị trí của form

Các thủ thuật liên quan đến ứng dụng, biểu mẫu và control

Các điều hành viên: tungcan5diop, QUANITGROBEST

Đăng trả lời
Hình đại diện của thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

[vb.net] Class điều khiển vị trí của form

Gửi bài by clarkkent »

Thủ thuật: Class điều khiển vị trí của form
Tác giả: Nguyễn Trung Tín
Mô tả: Class điều khiển vị trí của form
trong form cần có 1 commbobox... =((

Mã: Chọn tất cả

Public Class PositionForm    Public Enum Position        Top_Right = 1        Top_Centre = 2        Top_Left = 3        Middle_Right = 4        Middle_Center = 5        Middle_Left = 6        Bottom_Right = 7        Bottom_Center = 8        Bottom_Left = 9     End Enum     Dim pos As Position    Public Sub SelectPosition(ByVal frm As Form, ByVal pos As Position)         If frm.WindowState = FormWindowState.Normal Or frm.WindowState = FormWindowState.Minimized Then            Select Case pos                Case Is = Position.Bottom_Left                    frm.Location = New Point(0, Screen.PrimaryScreen.WorkingArea.Height - frm.Height)                Case Is = Position.Bottom_Center                    frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, Screen.PrimaryScreen.WorkingArea.Height - frm.Height)                Case Is = Position.Bottom_Right                    frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width), Screen.PrimaryScreen.WorkingArea.Height - frm.Height)                Case Is = Position.Middle_Center                    frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)                Case Is = Position.Middle_Left                    frm.Location = New Point((0), (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)                Case Is = Position.Middle_Right                    frm.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - frm.Width, (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)                Case Is = Position.Top_Centre                    frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, 0)                Case Is = Position.Top_Left                    frm.Location = New Point(0, 0)                Case Is = Position.Top_Right                    frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width), 0)            End Select        End If    End SubEnd Class    'Form cần 1 ComboBox    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        ComboBox1.Items.Add("Top Right")        ComboBox1.Items.Add("Top Left")        ComboBox1.Items.Add("Top Center")        ComboBox1.Items.Add("Middle Right")        ComboBox1.Items.Add("Middle Center")        ComboBox1.Items.Add("Middle Left")        ComboBox1.Items.Add("Bottom Right")        ComboBox1.Items.Add(" Bottom Center")        ComboBox1.Items.Add(" Bottom Left")End Sub      Dim pf As New PositionForm    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged        Select Case ComboBox1.SelectedIndex            Case Is = 0                'TopRight                pf.SelectPosition(Me, PositionForm.Position.Top_Right)            Case Is = 1                'TopLeft                pf.SelectPosition(Me, PositionForm.Position.Top_Left)            Case Is = 2                'TopCenter                pf.SelectPosition(Me, PositionForm.Position.Top_Centre)            Case Is = 3                'MiddleRight                pf.SelectPosition(Me, PositionForm.Position.Middle_Right)            Case Is = 4                'MiddleCenter                pf.SelectPosition(Me, PositionForm.Position.Middle_Center)            Case Is = 5                'MiddleLeft                pf.SelectPosition(Me, PositionForm.Position.Middle_Left)            Case Is = 6                'BottomRight                pf.SelectPosition(Me, PositionForm.Position.Bottom_Right)            Case Is = 7                'BottomCenter                pf.SelectPosition(Me, PositionForm.Position.Bottom_Center)            Case Is = 8                'BottomLeft                pf.SelectPosition(Me, PositionForm.Position.Bottom_Left)        End Select    End Sub
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
Hình đại diện của thành viên
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: Chủ nhật 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Tiếp xúc:

Re: [vb.net] Class điều khiển vị trí của form

Gửi bài by Kỳ Nam »

0 cần case nhiều như dậy

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
pf.SelectPosition(Me, ComboBox1.SelectedIndex)
End Sub

để đoạn trên chạy luôn đúng , cần sửa nốt cái đây

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Items.AddRange(System.Enum.GetNames(GetType(Position)))
End Sub
Đăng trả lời

Quay về