Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Mengubah Icon Button (New,Save,Cancel,Delete,dll) Secara Dinamis VBNET

Saya ingin berbagi tips dalam mengubah icon icon pada button standard (new, save, cancel, delete, find, close dan sebagainya). Cara lama/classic biasanya anda mengubah satu satu icon button disetiap form atau biasanya anda buat dulu button yang sudah ada icon-nya kemudian anda copy paste ke form lain. Masalahnya jika anda ingin mengubah icon bagaimana? berarti anda harus mengubah lagi satu satu atau copy replace lagi ke semua form (cape dan membuang waktu). Cara berikut ini adalah cara saya sendiri yang bisa dibilang semi dinamis untuk mengubah icon dengan memanfaatkan ImageList.
Buatlah satu form khusus untuk menyimpan ImageList yang nantinya icon icon pada ImageList tersebut akan dipanggil secara otomatis ke setiap button pada semua form anda. Jadi jika anda ingin mengubah salah satu icon cukup ubah icon di ImageListnya saja karena semua icon button di semua form anda bersumber dari satu ImageList ini. Dalam kasus ini saya ambil contoh meng-add icon dengan urutan : New, Save, Cancel, Delete, Find, Close (lihat gambar diatas). Kemudian buat sebuah public sub untuk menerapkan icon icon tersebut ke form yang anda kehendaki :

Public Sub djie_change_icon(ByValParamArray p_button() AsButton)
    For i As Short = 0 To p_button.Length - 1
       Ifp_button(i) IsNot NothingThen
           p_button(i).Image = Form_icon.ImageList1.Images(i)
           p_button(i).ImageAlign = ContentAlignment.MiddleLeft
       End If
    Next
End Sub

Pada design form anda tidak usah mengubah icon button (biarkan saja), cukup panggil function diatas pada event form_load untuk mengubah icon button pada form yang bersangkutan, contoh :

Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
    'Urutan New, Save, Cancel, Delete, Find, Close
    Calldjie_change_icon(Button_new, Button_save, Button_cancel, Button_delete, Button_find, Button_close)
End Sub
 
Jika misalkan di form lain button nya tidak seragam, misalnya tidak ada tombol delete dan find, anda harus tetap mengirimkan parameter ke function tersebut dengan jumlah yang sama agar urutan icon tidak salah (gunakan/kirim parameter Nothing untuk icon yang tidak tersedia), Contoh :

Private Sub Form2_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
   'Urutan new, save, cancel, delete (tidak ada), find (tidak ada), close
   Calldjie_change_icon(Button_new, Button_save, Button_cancel, Nothing, Nothing, Button_close)
End Sub
Kedepannya anda bisa saja membuat imagelist lebih dari satu dengan icon yang berbeda beda, jadi nanti dapat dipilih mau icon pack yang mana? atau ditampilkan ke menu setting->icon. Semoga dapat bermanfaat untuk anda dan menjadi inspirasi untuk lebih membuat trik trik yang lebih kreatif dan jauh lebih hebat  lagi.

Tags:
change icon button vbnet, tips dan trik vbnet, cara mengubah icon secara dinamis, cara mengbah icon vbnet, imagelist tutorial

Posting Komentar untuk "Cara Mengubah Icon Button (New,Save,Cancel,Delete,dll) Secara Dinamis VBNET"