Berbagi Cerita, Catatan, Pengalaman ngoding dan Secangkir Teh Hangat.

Sunday, January 8, 2017

Membuat Custom Control Textbox Hanya Angka dan Titik di VB.Net

Langkah - Langkah Membuat Custom Textbox Control hanya Menerima Angka dan Titik.

Hai.

Pada post kali ini kita akan membahas langkah - langkah membuat Custom Textbox Control sendiri, dimana text box ini hanya dapat menerima angka dan titik.

IQ : Imajiner Question

Q : Kenapa harus dibuat control custom, kan bisa di masukin langsung skripnya
  • Kalo engga dibuat kontrol harus ngetikin script disetiap textbox yang mau dibuat numeric only.
Q : Kan bisa di buat global function
  • Bisa sih, tapi kami harus selalu manggil function itu
Q : Emang kalo di bikin control engga perlu masukin script apapun
  • Kamu cukup 1x buat custom control trus tinggal pake di project yang akan kamu buat, Klik n Drag.
Q : Ooooh Gitu.
  • Iya gitu, tapi engga cukup dengan Ooooh Aja Ya Kan, Mari Kita Buat,

Buat Project Custom Textbox.

  • Untuk ngebuat Custom Control Template yang kamu pilih adalah "Class Library", untuk info lebih lanjut mengenai "Class Library" bisa cek disini dan disini.



  • Otomatis akan membuat Class dengan nama Class1, Close aja.
  • Add New Item.

  • Pilih Custom Control, kasih nama textbox_numeric.vb.

  • Otomatis akan terbuat Class textbox_numeric


  • Masukan perintah untuk membuat Control ini turunan Textbox



Inherits System.Windows.Forms.TextBox

  • Kalo terdeteksi ada kesalahan (kruel-kruel biru dibawah), klik kanan pilih "Change class 'textbox_numeric' to inherit from 'system.windows.forms.textbox'
  • Sekarang kita akan membuat kustom textbox hanya dapaty menerima angka dan titik.

 
     Protected Overrides Sub OnKeyPress(ByVal e As  _
          System.Windows.Forms.KeyPressEventArgs)
        Dim desimal_char As NumberFormatInfo = New CultureInfo("en-US").NumberFormat
        If Not (Char.IsDigit(e.KeyChar) Or e.KeyChar = desimal_char.NumberDecimalSeparator) Then
            e.Handled = True
        Else
            e.Handled = False
        End If
    End Sub
    Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
        MyBase.OnKeyDown(e)
        If e.KeyCode = Windows.Forms.Keys.Enter Then
            Me.Text = FormatNumber(Me.Text, 2)
            Me.TextAlign = HorizontalAlignment.Right
            SendKeys.Send("{TAB}")
        End If
    End Sub


  • Build


  • Ketika build sukses akan terbentuk 1 file dengan extensi dll, file dll inilah yang akan kita gunakan di project -project kita kedepan sebagai textbox yang hanya dapat menerima angka dan titik, biasanya file tersebut ada difolder [Project] -> bin -> Debug


  • Selesai, Simple dan sederhana kan.



Bagaimana Menggunakan Custom Control.

Buat Tab Untuk Menyimpan Custom Control

  • Klik kanan di area kosong Toolbox -> Add Tab


  • Tambahkan Control, klik kanan di custom control->choose item -> browse

  • Pilih File DLL yang sudah kita buat tadi, Open dah Klik OK
  •  Custom Control textbox_numeric kan muncuk di toolbox.


  • Klik n Drag, Run.

Custom Control ini hanya sebatas pembatasan inputan saja, untuk yang lainnya silakan kreasi sendiri.

Selamat Mencoba.

Bahasa : VB.Net
IDE : Visual Studio 2010
Framework : .Net 3.5

sekian dulu berbaginya, jangan lupa like, komen, share.
jangan lupa sertakan link blog ini sebagai sumber kalo kalian mau paste tutorial ini di blog kalian.










Share:

3 comments:

Powered by Blogger.

Ads 468x60px

Freelancer

Jaka Pradesa

Data Entry and Softwares

E: j.r.pradesa@gmail.com

Hire me on Freelancer.com

Social Icons