• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[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

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

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

Gửi bàigửi bởi clarkkent » CN 14/12/2008 9:14 am

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 hết

  1. Public Class PositionForm
  2.     Public Enum Position
  3.         Top_Right = 1
  4.         Top_Centre = 2
  5.         Top_Left = 3
  6.         Middle_Right = 4
  7.         Middle_Center = 5
  8.         Middle_Left = 6
  9.         Bottom_Right = 7
  10.         Bottom_Center = 8
  11.         Bottom_Left = 9
  12.  
  13.     End Enum
  14.  
  15.     Dim pos As Position
  16.     Public Sub SelectPosition(ByVal frm As Form, ByVal pos As Position)
  17.  
  18.         If frm.WindowState = FormWindowState.Normal Or frm.WindowState = FormWindowState.Minimized Then
  19.             Select Case pos
  20.                 Case Is = Position.Bottom_Left
  21.                     frm.Location = New Point(0, Screen.PrimaryScreen.WorkingArea.Height - frm.Height)
  22.                 Case Is = Position.Bottom_Center
  23.                     frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, Screen.PrimaryScreen.WorkingArea.Height - frm.Height)
  24.                 Case Is = Position.Bottom_Right
  25.                     frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width), Screen.PrimaryScreen.WorkingArea.Height - frm.Height)
  26.                 Case Is = Position.Middle_Center
  27.                     frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)
  28.                 Case Is = Position.Middle_Left
  29.                     frm.Location = New Point((0), (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)
  30.                 Case Is = Position.Middle_Right
  31.                     frm.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - frm.Width, (Screen.PrimaryScreen.WorkingArea.Height - frm.Height) / 2)
  32.                 Case Is = Position.Top_Centre
  33.                     frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width) / 2, 0)
  34.                 Case Is = Position.Top_Left
  35.                     frm.Location = New Point(0, 0)
  36.                 Case Is = Position.Top_Right
  37.                     frm.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - frm.Width), 0)
  38.             End Select
  39.         End If
  40.     End Sub
  41. End Class
  42.  
  43.  
  44.  
  45.  
  46. 'Form cần 1 ComboBox
  47.     Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  48.         ComboBox1.Items.Add("Top Right")
  49.         ComboBox1.Items.Add("Top Left")
  50.         ComboBox1.Items.Add("Top Center")
  51.         ComboBox1.Items.Add("Middle Right")
  52.         ComboBox1.Items.Add("Middle Center")
  53.         ComboBox1.Items.Add("Middle Left")
  54.         ComboBox1.Items.Add("Bottom Right")
  55.         ComboBox1.Items.Add(" Bottom Center")
  56.         ComboBox1.Items.Add(" Bottom Left")
  57. End Sub
  58.  
  59.  
  60.     Dim pf As New PositionForm
  61.     Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  62.         Select Case ComboBox1.SelectedIndex
  63.             Case Is = 0
  64.                 'TopRight
  65.                 pf.SelectPosition(Me, PositionForm.Position.Top_Right)
  66.             Case Is = 1
  67.                 'TopLeft
  68.                 pf.SelectPosition(Me, PositionForm.Position.Top_Left)
  69.             Case Is = 2
  70.                 'TopCenter
  71.                 pf.SelectPosition(Me, PositionForm.Position.Top_Centre)
  72.             Case Is = 3
  73.                 'MiddleRight
  74.                 pf.SelectPosition(Me, PositionForm.Position.Middle_Right)
  75.             Case Is = 4
  76.                 'MiddleCenter
  77.                 pf.SelectPosition(Me, PositionForm.Position.Middle_Center)
  78.             Case Is = 5
  79.                 'MiddleLeft
  80.                 pf.SelectPosition(Me, PositionForm.Position.Middle_Left)
  81.             Case Is = 6
  82.                 'BottomRight
  83.                 pf.SelectPosition(Me, PositionForm.Position.Bottom_Right)
  84.             Case Is = 7
  85.                 'BottomCenter
  86.                 pf.SelectPosition(Me, PositionForm.Position.Bottom_Center)
  87.             Case Is = 8
  88.                 'BottomLeft
  89.                 pf.SelectPosition(Me, PositionForm.Position.Bottom_Left)
  90.         End Select
  91.     End Sub


• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

Hình đại diện của người dùng
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: CN 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Liên hệ:

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

Gửi bàigửi bởi Kỳ Nam » CN 14/12/2008 9:34 am

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


Quay về “[.NET] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách