Senin, 02 Maret 2015

How 2 Moving Borderless Form VB.NET

Standard


Alhamdulillah password blog ane dah inget sehingga kumpulan draft artikel yang sudah menumpuk dapat ane posting ok langsung aja.
Kadang kita bosan dengan desain form yang biasa biasa saja karena terlihat monoton. Salah satu trik untuk memperindah form diantarannya adalah menonaktifkan border form agar form yang kita buat terlihat 100% custom.



 Permasalaan baru timbul, salah satunya adalah form tersebut tidak dapat dipindahkan ke area yang user inginkan. Selain itu borderless form juga menuntut kita untuk membuat control tambahan seperti tombol maximize, minimize serta tombol tutup. its risk,  Mari kita selesaikan satu persatu.

1.      Moved borderess form.
Pertama kita pesan variable untuk menyimpan data kordinat mouse seperti dibawah ini.
Dim drag As Boolean
    Dim mousex As Integer
    Dim mousey As Integer

Nama variabel tidak harus sama koq, mungkin anda lebih suka menggunakan nama - nama hewan atau makanan, ok silahkah saja. Kemudian kita membuat beberapa perintah pada masing - masing event ( mouse down mouse move, mouse up) pada control yang kita inginkan. Saya ambil contoh misalnya groupbox,  selengkapnya seperti dibawah ini;

Private Sub GroupPanel3_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseDown
        drag = True 'memberi nilai drag bernilai benar (1)
        mousex = Windows.Forms.Cursor.Position.X - Me.Left 'mengisi variabel mouseX
        mousey = Windows.Forms.Cursor.Position.Y - Me.Top 'mengisi variabel mousey

    End Sub

    Private Sub GroupPanel3_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseMove
         If drag Then
            ' ubah kordinat(letak form) mengikuti kordinat mouse.
            Me.Top = Windows.Forms.Cursor.Position.Y - mousey
            Me.Left = Windows.Forms.Cursor.Position.X - mousex
        End If

    End Sub

    Private Sub GroupPanel3_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseUp
        drag = False 'Set drag bernilai salah (0)
    End Sub

Langkah selanjutnya, Debug project dan coba drag form tersebut ke area yag diinginkan.

2.     Membuat Kontrol sendiri.
Kalau sebelumnya kita menyelesaikan permasalahan pergerakan form sekarang kita akan membahas bagaimana membuat kontrol tambahan untuk form borderless tersebut. 
Salah satu yang paling wajib ialah tombol close. Sebenarnya kita sudah terbiasa membuatnya misalnya pada button tutup, cancel dan sebagainya. Disini penulis akan memanfaatkan kontrol lain yang juga dapat berfungsi sebagai tombol yaitu Label anda juga dapat menyalah gunakan properti lain sebagai tombol misalnya picture box. Pertama kita tambahkan label, lalu ubah properti textnya misalya menjadi “X”. 

lalu beri koding “ me.close()” pada event “Click”.

Sedangkan untuk tombol minimize dan maximize pada prinsipnya hampir sama, perbedaan terlihat hanya pada kodingnya. Untuk maximize menggunakan perintah “  Me.WindowState = FormWindowState.Maximized” sedangkan minimize ialah “Me.WindowState =  FormWindowState.Minimized”.


Semoga bermanfaat.

0 komentar:

Posting Komentar