Tuesday, December 13, 2016

Bab 7: Visual Basic .NET: Langkah Demi Langkah



MENCIPTAKAN MENU

APA YANG AKAN ANDA PELAJARI PADA BAB INI:
a.  Bagaimana menciptakan menu
b.  Bagaimana menciptakan submenu
c.  Bagaimana menciptakan menu konteks

Menu adalah bagian penting dari aplikasi dan menawarkan bukan hanya cara mudah untuk menavigasi aplikasi tetapi juga berperan sebagai perangkat penting pada aplikasi. Misalnya, Visual Studio 2012 atau Visual Studio 2013. Ia memberikan menu-menu untuk menavigasi sejumlah jendela yang ia tampilkan dan berperan sebagai perangkat yang penting dalam mempermudah pengembangan piranti melalui menu dan submenu untuk memotong, menyalin, dan menempelkan kode.

Bab ini akan mendiskusikan bagaimana menciptakan menu pada aplikasi Visual Basic. Anda akan mengeksplorasi bagaimana menciptakan dan mengelola menu dan submenu dan bagaimana menciptakan menu konteks dan mendefinisikan ulang menu konteks default. Visual Studio menawarkan dua kontrol menu pada Toolbox, dan Anda akan mengeksplorasi keduanya.


MEMAHAMI FITUR-FITUR MENU
Kontrol MenuStrip pada Visual Studio menawarkan beberapa fitur kunci. Pertama dan terpenting, ia menawarkan cara mudah dan cepat dalam menambahkan menu, item menu, dan item submenu pada aplikasi Anda. Ia juga menawarkan sebuah editor built-in yang dapat Anda pakai untuk menambah, mengedit, menghapus item-item menu.

Item-item menu yang Anda ciptakan dapat memuat citra, kunci akses, kunci pintas, dan tanda centang berikut dengan label teks.

Citra
Hampir setiap orang familiar dengan citra pada menu aplikasi seperti Microsoft Outlook atau Visual Studio. Pada Visual Basic versi awal, pengembang piranti tidak dapat menciptakan item menu dengan citra tanpa melakukan modifikasi pemrograman yang rumit. Visual Basic telah melakukan perjalanan panjang dan sekarang menawarkan sebuah properti Image untuk item menu yang membuat penambahan citra pada item menu menjadi pekerjaan mudah.

Kunci Akses
Kunci akses (juga dikenal dengan kunci akselerator) memampukan Anda untuk menavigasi menu menggunakan kunci Alt dan sebuah huruf yang digaris-bawahi pada item menu. Ketika kunci akses ditekan, menu akan ditampilkan di layar dan user dapat menavigasinya menggunakan kunci panah atau mouse.

Kunci Pintas (Shortcut)
Kunci pintas dapat Anda pakai untuk memanggil item menu tanpa perlu menampilkan menu sama sekali. Kunci pintas umumnya memuat sebuah kunci kontrol dan sebuah huruf, seperti Ctrl + X untuk memotong teks.

Tanda Centang
Simbol tanda centang dapat ditempatkan di samping sebuah item menu menggantikan citra, umumnya untuk mengindikasikan bahwa item menu sedang digunakan. Sebagai contoh, jika Anda mengklik menu View pada Visual Studio dan kemudian memilih item menu Toolbars, Anda akan melihat sebuah submenu yang memiliki banyak item submenu, beberapa di antaranya memiliki tanda centang. Item submenu yang memiliki tanda centang mengindikasikan bahwa toolbar yang sedang ditampilkan.

Gambar 7.1 menunjukkan sejumlah fitur yang dapat Anda gunakan pada menu Anda. Seperti yang dapat Anda lihat, menu sederhana ini menyediakan semua fitur yang telah disebutkan. Gambar 7.1 menunjukkan menu ketika projek dijalankan. Gambar 7.2 menunjukkan bagaimana menu pada mode design.


GAMBAR 7.1

GAMBAR 7.2

Hal pertama yang akan Anda perhatikan ketika menggunakan kontrol MenuStrip adalah bahwa ia menyediakan suatu cara dalam menambahkan menu, item menu, atau item submenu dengan cepat. Setiap kali Anda menambahkan salah satu, sebuah luasan teks kosong akan ditambahkan.


Jendela Properties
Ketika Anda menciptakan atau mengedit sebuah menu, jendela Properties menampilkan sejumlah properti yang dapat diatur untuk menu yang sedang diedit, seperti ditunjukkan pada Gambar 7.3, yang menunjukkan sejumlah properti untuk item menu Toolbar.

GAMBAR 7.3

Anda dapat menciptakan sebanyak mungkin menu, item menu, dan item submenu yang Anda perlukan. Anda bahkan dapat menempatkan sedalam mungkin item submenu dengan menciptakan submenu lain di dalam sebuah submenu.

Anda sebaiknya mengikuti format standar untuk menu yang Anda lihat pada kebanyakan aplikasi Windows saat ini. Salah satu contoh menu dapat Anda lihat pada Visual Studio 2012 dan Visual Studio 2013. Sebagai contoh, Anda selalu memiliki sebuah menu File, dan sebuah item menu Exit di dalam menu File untuk keluar dari aplikasi. Jika aplikasi Anda menyediakan fungsionalitas cut, copy, dan paste, maka Anda sebaiknya menempatkannya di dalam menu Edit, dan seterusnya.

Kuncinya di sini adlaah membuat tampilan menu Anda seperti menu pada kebanyakan aplikasi Windows lain sehingga user merasa nyaman menggunakan aplikasi Anda. Dengan cara ini, mereka tidak merasa bahwa mereka harus belajar dasar-dasar Windows kembali. Sejumlah item menu dapat bersifat spesifik pada aplikasi Anda, tetapi kuncinya adalah bagaimana mengorganisirnya menjadi kategori menu sehingga user familiar menggunakannya.


MENCIPTAKAN MENU
Bagian ini mendemonstrasikan betapa mudahnya menciptakan menu pada aplikasi Anda. Pada latihan berikut, Anda akan menciptakan sebuah form yang memuat sebuah batang menu, dua toolbar, dan dua kotak teks. Batang menu akan memuat lima menu: File, Edit, View, dan Help, dan beberapa item menu dan item submenu. Ini dapat Anda pakai untuk secara utuh berlatih dalam menggunakan fitur-fitur dari kontrol menu. Karena beberapa langkap terlihat dalam membangun aplikasi ini, proses akan dibagi ke dalam beberapa bagian.

Merancang Menu
Anda akan mengimplementasikan kode di balik item-item menu untuk mendemonstrasikan menu dan bagaimana menambahkan kode pada item menu Anda.

LATIHAN
Menciptakan Menu
Pada contoh pertama, Anda akan belajar bagaimana menciptakan menu dan submenu.
1. Awali Visual Studio dan klik File kemudian pilih New Project. Pada dialog New Project, pilih Windows Forms Application pada panel Template dan masukkan nama projek Menu Windows Forms pada bidang Name. Klik pada tombol OK untuk menciptakan projek.

2. Klik pada form dengan mode design dan tetapkan properti-properti form sebagai berikut:
         Tetapkan Size menjadi 300, 180.
         Tetapkan StartPosition menjadi CenterScreen.
         Tetapkan Text menjadi Menu Demo.

3. Geret sebuah kontrol MenuStrip dari Toolbox dan tempatkan ke form. Ia secara otomatis akan diposisikan ke bagian atas form. Kontrol juga ditambahkan ke bagian bawah form, seperti kontrol-kontrol kotak dialog yang telah didiskusikan sebelumnya.

4.  Pada jendela Properties, tetapkan Font Size menjadi 8.

5.  Klik kanan pada kontrol MenuStrip1 pada form dan pilih item menu konteks agar item-item menu standar disisipkan secara otomatis.

6. Pada jendela Properties, klik pada tombol dengan elipsis di samping properti Items atau klik kanan pada kontrol MenuStrip1 pada form Anda dan pilih Edit Items dari menu konteks.

Pada kotak dialog Items Collection Editor, klik tombol Add untuk menambahkan sebuah item menu baru. Agar konsisten dengan penamaan standar, tetapkan properti Name untuk item menu baru ini menjadi ViewToolStripMenuItem.

Sekarang tetapkan properti Text menjadi &View. Sebuah simbol & pada nama menu akan menyediakan kunci akses untuk menu atau item menu. Huruf yang ada di depan simbol & akan menjadi huruf yang digunakan untuk mengakses item menu ini dengan kombinasi kunci Alt, jadi untuk menu ini Anda dapat mengakses menu View denga menekan Alt+V. Anda akan melihat ini pada saat projek dijalankan.

Anda akan memosisikan menu ini di antara menu Edit dan menu Tools jadi Anda mengklik anak panah atas sampai menu View diposisikan antara EditToolStripMenuItem dan ToolsToolStripMenuItem.

7. Sekarang cari properti DropDownItems dan klik tombol elipsis di sampingnya sehingga Anda dapat menambahkan item-item menu di bawah menu View. Sebuah dialog Items Collection Editor kedua akan ditampilkan; kapsionnya terbaca “Items Collection Editor (ViewToolStripMenuItem.DropDownItems)”.

Hanya ada satu item menu, Toolbars, di bawah menu View. Klik tombol Add pada dialog Item Collections Editor untuk menambahkan sebuah MenuItem.

Lagi, Anda ingin konsisten dengan penamaan standar yang sedang digunakan untuk menetapkan properti Name menjadi ToolbarToolStripMenuItem. Kemudian tetapkan properti Text menjadi &Toolbars.

8.  Untuk menambahkan dua item submenu di bawah item menu Toolbars, cari properti DropDownItems dan klik tombol yang ada di sampingnya.

Pada dialog Item Collections Editor, klik tombol Add untuk menambahkan sebuah item menu baru. Tetapkan properti Name untuk item submenu ini menjadi MainToolStripMenuItem dan properti Text menjadi &Main. Tetapkan properti ShortcutKeys menjadi Ctrl+M. Untuk melakukannya, centang kotak untuk Ctrl dan kemudian pilih M dari list yang ada. Selanjutnya, pastikan properti ShowShortcutKets ditetapkan True. Ketika Anda menambahkan toolbar Main pada projek ini, ia akan ditampilkan secara default, jadi item submenu ini sebaiknya dicentang untuk mengindikasikan bahwa toolbar ditampilkan. Tetapkan properti Checked menjadi True untuk menyebabkan item submenu ini dicentang secara default, dan tetapkan properti CheckOnClick menjadi True agar tanda centang di samping item submenu ini akan ditoggle on dan off.

9.  Item submenu selanjutnya yang Anda tambahkan adalah Formatting. Klik tombol Add untuk menambahkan sebuah item menu baru dan tetapkan properti Name untuk item submenu ini menjadi FormattingToolStripMenuITem dan properti Text menjadi &Formatting.

Karena menu Formatting yang Anda tambahkan tidak akan ditampilkan secara default, Anda perlu membiarkan properti Checked ditetapkan False. Tetapi Anda perlu menetapkan properti CheckOnClick menjadi True sehingga item submenu dapat ditoggle on dan off.

10. Simpan projek Anda dengan mengklik tombol Save All pada toolbar.

11. Jalankan projek Anda pada titik ini dan kemudian tekan Alt+V dan Alt+T (tanpa melepaskan kunci Alt), Anda akan melihat item-item submenu, seperti ditunjukkan pada Gambar 7.4. Anda dapat pula mengklik menu-menu lain dan melihat item-item menunya.

GAMBAR 7.4

Penjelasan
Visual Studio telah melakukan banyak hal bagi Anda dengan menyediakan item menu konteks Insert Standard Items pada kontrol MenuStrip. Anda mengklik item menu ini agar Visual Studio menciptakan menu standar dan item-item menunya yang ditemukan pada kebanyakan aplikasi. Ini dapat Anda pakai agar Anda bisa berkonsentrasi hanya pada menu dan item menu yang spesifik pada aplikasi Anda.




Menambahkan Toolbar dan Kontrol
Pada bagian ini, Anda akan menambahkan toolbar dan beberapa tombol yang diperlukan oleh aplikasi. Menu yang diciptakan pada bagian sebelumnya akan mengendalikan penampilan dan penyembunyian toolbar ini. Anda juga dapat menambahkan sepasang kontrol TextBox yang dipakai pada aplikasi untuk memotong, menyalin, dan menempelkan teks menggunakan tombol-tombol toolbar dan item-item menu.

LATIHAN
Menambahkan Toolbar dan Kontrol
Anda telah menggunakan toolbar sebelumnya. Pada MS Word, Anda dapat mengklik pada tombol toolbar print ketika Anda ingin mencetak. Pada latihan selanjutnya, Anda akan menciptakan toolbar yang serupa.

1. Kembali ke mode design pada projek Menu Windows Forms. Anda akan menambahkan dua toolbar pada form, jadi cari kontrol ToolStrip pada jendela Toolbox dan geret dan jatuhkan kontrol tersebut pada form Anda; ia secara otomatis akan menyejajarkan dirinya di bawah menu. Tetapkan properti Name menjadi tspMain.

2.   Tombol-tombol toolbar default akan cocok untuk projek ini, jadi klik kanan pada kontrol ToolStrip pada form dan pilih Insert Standard Items dari menu konteks untuk menambahkan tombol-tombol toolbar standar.

3. Selanjutnya, tambahkan toolbar kedua pada form dengan cara yang sama. Ia akan menyejajarkan dirinya di bawah toolbar pertama. Tetapkan properti Name menjadi tspFormatting dan properti Visible menjadi False, karena Anda tidak ingin toolbar ini ditampilkan secara default.

4.  Anda akan menambahkan tiga tombol pada toolbar ini, jadi klik elipsis di samping dari properti Items pada jendela Properties atau klik kanan pada kontrol ToolStrip pada form dan pilih Edit Items dari menu konteks.

Pada kotak dialog Items Collection Editor, klik tombol Add untuk menambahkan tombol pertama. Karena Anda tidak akan menggunakan tombol-tombol ini, Anda dapat menerima nama default dan teks ToolTip untuknya. Pastikan bahwa properti DisplayStyle ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik tombol Import dan pilih citra yang ingin Anda pakai untuk tombol ini.

5. Pada kotak dialog Items Collection Editor, klik tombol Add kembali untuk menambahkan tombol kedua. Pastikan bahwa properti DisplayStyle ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik tombol Import dan pilih citra yang ingin Anda pakai untuk tombol ini.

6. Pada kotak dialog Items Collection Editor, klik tombol Add kembali untuk menambahkan tombol ketiga. Pastikan bahwa properti DisplayStyle ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik tombol Import dan pilih citra yang ingin Anda pakai untuk tombol ini.

7.    Klik tombol OK pada kotak dialog Items Collection Editor untuk menutupnya.

8.  Tambahkan sebuah kontrol Panel dari Toolbox ke form Anda dan tetapkan properti Dock menjadi Fill.

9. Tambahkan dua kontrol TextBox pada kontrol Panel dan terima semua properti defaultnya. Lokasi dan ukurannya tidak penting, tetapi sebaiknya dibuat cukup lebar untuk memuat teks. Form Anda sekarang tampak seperti pada Gambar 7.5. Perhatikan bahwa toolbar kedua tidak terlihat, karena Anda menetapkan properti Visible menjadi False. Jika Anda jalankan projek Anda pada titik ini, Anda akan melihat menu, toolbar main, dan dua kotak teks. Toolbar formatting tidak terlihat pada titik ini karena properti Visible ditetapkan False.

GAMBAR 7.5

Penjelasan
Kontrol ToolStrip, seperti kontrol MenuStrip, menyediakan item menu konteks Insert Standard Items, yang dapat membantu Anda, seperti ditunjukkan pada Gambar 7.5. Kontrol ini menawarkan cara efisien dalam menyediakan tombol-tombol toolbar standar yang ditambahkan pada kontrol ToolStrip. Anda tentu dapat menata tombol-tombol yang ditambahkan dan bahkan menambahkan tombol baru dan menghapus tombol yang ada.

Karena Anda menetapkan properti Visible menjadi False untuk kontrol tspFormatting, kontrol itu tidak menempati ruang apapun pada saat perancangan setelah kontrol kehilangan fokus.




Mengkode Menu

Setelah Anda menambahkan semua kontrol pada form, sekarang saatnya untuk menuliskan kode untuk membuat kontrol-kontrol ini bekerja sesuai yang diinginkan. Pertama, Anda perlu menambah fungsionalitas untuk membuat menu bekerja. Kemudian Anda menambahkan kode untuk membuat tombol-tombol pada toolbar utama bekerja.

LATIHAN
Mengkode Menu File
Selanjutnya, Anda akan menempatkan kode di balik menu-menu.
1.  Awali dengan menukar ke editor kode untuk form. Pada kotak combo Class Name di atas editor kode, pilih NewToolStripMenuItem dan pilih event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan pada event handler Click:

Private Sub NewToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles NewToolStripMenuItem.Click
    'Membersihkan kedua kotak teks
    TextBox1.Text = String.Empty
    TextBox2.Text = String.Empty

    'Menetapkan fokus pada kotak teks pertama
    TextBox1.Focus()
End Sub

2. Tambahkan prosedur untuk tombol New pada toolbar dengan memilih NewToolStripButton dari kotak combo Class Name dan event Click dari kotak combo Method Name. Tambahkan kode yang ditebalkan berikut pada prosedur ini:

Private Sub NewToolStripButton_Click(sender As Object, e As EventArgs)
Handles NewToolStripButton.Click
    'Memanggil prosedur NewToolStripMenuItem_Click
    NewToolStripMenuItem_Click(sender, e)
End Sub

3.  Pilih ExitToolStripMenuItem dari kotak combo Class Name dan event Click dari kotak combo Method Name dan tambahkan kode yang ditebalkan berikut pada prosedur:

Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ExitToolStripMenuItem.Click
    'Menutup dan mengakhiri form
    Me.Close()
End Sub

Penjelasan
Untuk membersihkan kotak teks pada form di dalam prosedur NewToolStripMenuItem_Click, tambahkan kode berikut. Apa yang Anda lakukan adalah menetapkan properti Text dari kedua kotak teks menjadi sebuah string kosong. Baris berikutnya dari kode menetapkan fokus pada kotak teks pertama dengan memanggil metode Focus dari kotak teks tersebut:

Private Sub NewToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles NewToolStripMenuItem.Click
    'Membersihkan kedua kotak teks
    TextBox1.Text = String.Empty
    TextBox2.Text = String.Empty

    'Menetapkan fokus pada kotak teks pertama
    TextBox1.Focus()
End Sub

Ketika Anda mengklik item menu New di bawah menu File, kedua kotak teks akan dibersihkan dari semua teks, dan TextBox1 akan menerima fokus dan siap untuk menerima teks.

Tombol New pada toolbar akan berperan sama, tetapi Anda tidak perlu menuliskan kode yang sama dua kali. Anda dapat menempatkan teks pada prosedur sebelumnya di dalam prosedur terpisah dan memanggil prosedur tersebut dari kedua prosedur NewToolStripMenuItem_Click dan NewToolStripButton_Click. Tetapi, Anda hanya perlu memanggil prosedur itu dari dalam prosedur NewToolStripButton_Click. Karena kedua prosedur menerima parameter yang sama, Anda hanya perlu melewatkan parameter-parameter yang diterima di dalam prosedur ini kepada prosedur yang dipanggil:

'Memanggil prosedur NewToolStripMenuItem_Click
NewToolStripMenuItem_Click(sender, e)

Sekarang Anda dapat mengklik tombol New pada toolbar atau mengklik item menu New pada menu File dan mendapatkan hasil yang sama, yang membersihkan kedua kotak teks dari form.

Ketika Anda mengklik item menu Exit, Anda ingin program berakhir. Pada prosedur, ExitToolStripMenuItem_Click, Anda menambahkan kode berikut. Katakunci Me mengacu pada kelas dimana kode dieksekusi, dan pada kasus ini mengacu ke kelas form. Metod Close menutup form, melepaskan semua memori, dan mengakhiri program:

'Menutup dan mengakhiri form
Me.Close()

Sekarang Anda akan mengkode menu Edit dan menambahkan kode untuk item-item menunya.


LATIHAN
Mengkode Menu Edit
Pada contoh ini, Anda menambahkan kode untuk membuat menu edit dan tombol-tombol toolbar bekerja.

1. Item menu pertama pada menu Edit adalah item menu Undo. Pilih UndoToolStripMenuItem pada kotak combo Class Name dan pilih event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan berikut pada event handler Click:

Private Sub UndoToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles UndoToolStripMenuItem.Click
    'Membatalkan operasi terakhir
    If TypeOf Me.ActiveControl Is TextBox Then
        CType(Me.ActiveControl, TextBox).Undo()
    End If
End Sub

2.  Item menu selanjutnya yang akan Anda tambahkan kodenya adalah item menu Cut. Pilih CutToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan di sini:

Private Sub CutToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles CutToolStripMenuItem.Click
    'Menyalin teks yang dan membersihkan bidang
    If TypeOf Me.ActiveControl Is TextBox Then
        CType(Me.ActiveControl, TextBox).Cut()
    End If
End Sub

3.   Anda ingin tombol Cut pada toolbar untuk memanggil kode untuk item menu Cut. Pilih CutToolStripButton pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode berikut:

Private Sub CutToolStripButton_Click(sender As Object, e As EventArgs)
Handles CutToolStripButton.Click
    'Memanggil prosedur CutToolStripMenuItem_Click
    CutToolStripMenuItem_Click(sender, e)
End Sub

4.  Item menu selanjutnya yang akan Anda tambahkan kodenya adalah item menu Copy. Pilih CopyToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan di sini:

Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles CopyToolStripMenuItem.Click
    'Menyalin teks
    If TypeOf Me.ActiveControl Is TextBox Then
        CType(Me.ActiveControl, TextBox).Copy()
    End If
End Sub

5.  Anda ingin tombol Copy pada toolbar untuk memanggil kode untuk item menu Copy. Pilih CopyToolStripButton pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode berikut:

Private Sub CopyToolStripButton_Click(sender As Object, e As EventArgs)
Handles CopyToolStripButton.Click
    'Memanggil prosedur CopyToolStripMenuItem_Click
    CopyToolStripMenuItem_Click(sender, e)
End Sub

6.  Item menu selanjutnya yang akan Anda tambahkan kodenya adalah item menu Paste. Pilih PasteToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan di sini:

Private Sub PasteToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles PasteToolStripMenuItem.Click
    'Menyalin teks ke kotak teks
    If TypeOf Me.ActiveControl Is TextBox Then
        CType(Me.ActiveControl, TextBox).Paste()
    End If
End Sub

7.  Anda ingin tombol Paste pada toolbar untuk memanggil kode untuk item menu Paste. Pilih PasteToolStripButton pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode berikut:

Private Sub PasteToolStripButton_Click(sender As Object, e As EventArgs)
Handles PasteToolStripButton.Click
    'Memanggil PasteToolStripMenuItem_Click
    PasteToolStripMenuItem_Click(sender, e)
End Sub

8.  Item menu terakhir yang akan Anda tambahkan kodenya adalah item menu Select All. Pilih SelectAllToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan di sini:

Private Sub SelectAllToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles SelectAllToolStripMenuItem.Click
    'Menyeleksi semua teks pada kotak teks
    If TypeOf Me.ActiveControl Is TextBox Then
        CType(Me.ActiveControl, TextBox).SelectAll()
    End If
End Sub

Penjelasan
Anda telah menambahkan kode untuk menu Edit yang diawali dengan item menu Undo. Karena Anda memiliki dua kotak teks pada form Anda, Anda memerlukan sebuah cara untuk menentukan kotak teks mana yang sedang digunakan atau sebuah cara generik dalam menangani operasi undo untuk kotak teks. Pada contoh ini, Anda melakukan pendekatan kedua dan menyediakan cara generik untuk menangani kedua kotak teks.

Anda melakukan ini dengan pertama-tama menentukan apakah kontrol aktif mana adalah sebuah kontrol TextBox atau tidak. Properti ActiveControl dari kelas Form menghasilkan sebuah referensi ke kontrol aktif pada form, yaitu kontrol yang memiliki fokus.

Kemudian Anda memeriksa kontrol aktif untuk melihat apakah kontrol itu berupa kontrol TextBox. Ini dilakukan menggunakan operator TypeOf. Operator ini membandingkan sebuah referensi objek dengan sebuah tipe data, dan di dalam kode yang ditampilkan di bawah ini Anda membandingkan referensi objek yang dihasilkan di dalam properti ActiveControl dengan sebuah data bertipe TextBox.

Ketika Anda mengetahui bahwa kontrol yang aktif adalah kontrol TextBox, Anda menggunakan fungsi CType untuk mengkonversi objek yang dimuat di dalam properti ActiveControl menjadi sebuah kontrol TextBox. Ini mengekspos properti-properti dan metode-metode dari kontrol TextBox sehingga Anda dapat memilih metode Undo:

'Membatalkan operasi terakhir
If TypeOf Me.ActiveControl Is TextBox Then
    CType(Me.ActiveControl, TextBox).Undo()
End If

Menu dan toolbar tidak pernah ditetapkan sebagai kontrol aktif. Ini memampukan Anda untuk menggunakan menu dan tombol-tombol toolbar dan selalu mereferensi kontrol aktif.
Anda menggunakan logika yang sama untuk prosedur item menu lain seperti item menu Undo, memeriksa kontrol aktif untuk melihat apakah kontrol itu merupakan kontrol TextBox. Kemudian Anda memanggil metode sesuai pada kontrol TextBox untuk memotong, menyalin, menempel, dan memilih semua teks.



Mengkode Menu View dan Toolbar
Setelah Anda menambahkan kode untuk membuat item-item menu Edit dan tombol-tombol toolbar fungsional, langkah selanjutnya untuk membuat item-item menu di bawah menu View fungsional.

LATIHAN
Mengkode Menu View
Selanjutnya, tambahkan kode untuk menyembunyikan dan menampilkan toolbar.
1.  Kembali ke editor kdoe pada projek Menu Windows Forms dan pada kotak combo Class Name, pilih MainToolStripMenuItem. Pada kotak combo Method Name, pilih event Click. Tambahkan kode yang ditebalkan berikut pada event handler Click:

Private Sub MainToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles MainToolStripMenuItem.Click
    'Mentoggle visibilitas toolbar Main
    'berdasarkan pada properti Checked pada item menu
    If MainToolStripMenuItem.Checked Then
        tspMain.Visible = True
    Else
        tspMain.Visible = False
    End If
End Sub

2.  Anda perlu menambahkan jenis kode yang sama seperti yang Anda tambahkan pada item menu Formatting. Pilih FormattingToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode yang ditebalkan berikut:

Private Sub FormattingToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles FormattingToolStripMenuItem.Click
    'Mentoggle visibilitas dari toolbar Formatting
    'berdasarkan pada properti Checked pada item menu
    If FormattingToolStripMenuItem.Checked Then
        tspFormatting.Visible = True
    Else
        tspFormatting.Visible = False
    End If
End Sub

Penjelasan
Ketika item submenu Main di bawah menu Toolbars, item submenu menampilkan sebuah tanda centang atau menghapus tanda centang berdasarkan status terkini dari properti Checked dari item submenu. Anda menambahkan kode di dalam event handler Click dari item submenu ini untuk menampilkan atau menyembunyikan toolbar Main dengan menetapkan properti Visible menjadi True atau False:

'Mentoggle visibilitas toolbar Main
'berdasarkan pada properti Checked pada item menu
If MainToolStripMenuItem.Checked Then
    tspMain.Visible = True
Else
    tspMain.Visible = False
End If

Prinsip yang sama berlaku untuk item submenu Formatting, dan kodenya sangat mirip dengan kode dari item submenu Main:

'Mentoggle visibilitas dari toolbar Formatting
'berdasarkan pada properti Checked pada item menu
If FormattingToolStripMenuItem.Checked Then
    tspFormatting.Visible = True
Else
    tspFormatting.Visible = False
End If


Menguji Kode Anda
Saat aplikasi Anda menjadi lebih kompleks, pengujian kode menjadi sangat penting. Lebih banyak error yang dapat Anda temukan dan perbaiki selama pengujian, semakin baik Anda dalam mengimplementasikan aplikasi yang stabil dan handal.

Anda perlu menguji tidak hanya fungsionalitas dari aplikasi Anda, tetapi juga sejumlah skenario yang dilakukan user.

LATIHAN
Menguji Kode Anda
Ikuti langkah-langkah berikut untuk menguji kode Anda.

1.  Saatnya menguji kode Anda. Klik tombol toolbar Start. Ketika form dimuat, satu-satunya toolbar yang Anda lihat adalah toolbar Main, seperti ditunjukkan pada Gambar 7.6.

GAMBAR 7.6

2. Klik menu View dan kemudian klik item menu Toolbars. Perhatikan bahwa item submenu Main diseleksi dan toolbar Main ditampilkan. Kemudian klik item submenu Formatting. Toolbar Formatting ditampilkan berikut dengan toolbar Main. Perhatikan pula bahwa kontrol-kontrol pada form Anda bergeser ke bawah ketika toolbar Formatting ditampilkan. Ini terjadi karena Anda menempatkan sebuah kontrol Panel pada form, menetapkan properti Dock menjadi Fill, dan kemudian menempatkan kedua kontrol TextBox pada kontrol Panel. Dengan melakukan ini, semua kontrol akan diposisikan ulang, baik untuk menempati ruang ketika sebuah toolbar disembunyikan atau menyediakan ruang ketika toolbar ditampilkan; hal ini sama seperti pada Visual Studio 2012 dan Visual Studio 2013.

3. Jika Anda mengklik menu View kembali dan mengklik item menu Toolbars, Anda akan melihat kedua item submenu Main dan Formatting dicentang. Item submenu tercentang mengindikasikan bahwa toolbar ditampilkan, dan item submenu tak-tercentang mengindikasikan bahwa toolbar tidak ditampilkan.

4.  Sekarang uji fungsionalitas dari menu Edit. Klik pada kotak teks pertama dan ketikkan teks tertentu. Kemudian klik pada menu Edit dan pilih item menu Select All. Setelah Anda memilih item menu Select All, teks pada kotak teks akan disorot.

5. Anda sekarang ingin menyalin teks pada kotak teks pertama ketika teks disorot. Tempatkan mouse ke atas tombol Copy pada toolbar untuk melihat ToolTip. Sekarang klik tombol Copy pada toolbar atau pilih Edit kemudian pilih item menu Copy. Tempatkan kursor pada teks kedua dan kemudian klik tombol Paste pada toolbar atau pilih Edit kemudian pilih item submenu Paste. Teks tersebut akan disalin ke kotak teks kedua, seperti ditunjukkan pada Gambar 7.7.

GAMBAR 7.7

6.  Klik pada kotak teks pertama dan kemudian klik Edit kemudian pilih Undo. Perhatikan bahwa perubahan yang Anda lakukan pada kotak teks pertama telah dibatalkan.

7.  Item terakhir pada menut Edit untuk diuji adalah item menu Cut. Ketikkan teks tertentu pada kotak teks pertama, dan sorot teks pada kotak teks pertama dengan mengklik menu Edit dan pilih item menu Select All. Kemudian pilih ikon Cut pada toolbar atau pilih Edit kemudian Cut. Teks ini disalin dan kemudian dihapus dari kotak teks.
Tempatkan kursor Anda pada kotak teks kedua di akhir dari teks di sana. Kemudian  lakukan paste pada teks ini menggunakan kunci pintas Paste, Ctrl + V. Teks ditempatkan di akhir dari teks yang ada pada kotak teks. Inilah cara kerja operasi cut, copy, dan paste dari Windows.

GAMBAR 7.8

8.  Sekarang klik menu File dan pilih item menu New. Teks pada kotak teks akan dihapus. Satu-satunya item yang tersisa untuk diuji adalah item menu Exit di bawah menu File.

9. Sebelum menguji item menu Exit, lihat sebentar pada menu konteks. Ketikkan teks tertenu pada salah satu kotak teks. Sekarang, klik kanan pada kotak teks tersebut, dan Anda akan melihat sebuah menu konteks ditampilkan, sama seperti ditunjukkan pada Gambar 7.8. Perhatikan bahwa konteks menu konteks ini ditampilkan secara otomatis; Anda tidak perlu menambahkan kode apapun untuk memilikinya. Ini merupakan salah satu fitur dari sistem operasi Windows, dan Visual Studio menawarkan suatu cara untuk mendefinisikan-ulang menu konteks default, seperti yang akan Anda lihat pada bagian selanjutnya.

10. Untuk menguji fungsionalitas terakhir dari program Anda, pilih File kemudian pilih Exit, dan program Anda akan berakhir.

Penjelasan
Contoh ini menunjukkan pada Anda bagaimana menjejak pengujian kode. Anda sebaiknya memiliki rencana-rencana pengujian yang sama dengan langkah-langkah ini.


MENU KONTEKS
Menu konteks adalah menu yang ditampilkan ketika user mengklik tombol mouse kanan pada sebuah kontrol atau jendela. Menu ini menawarkan kepada user akse cepat ke perintah-perintah untuk kontrol-kontrol yang disediakan. Seperti yang Anda lihat pada bagian sebelumnya, menu konteks yang ditampilkan menawarkan suatu cara dalam mengelola teks pada sebuah kotak teks.

Menu konteks dapat dimodifikasi sesuai dengan kebutuhan aplikasi Anda; dan pada aplikasi yang lebih kompleks, seperti Visual Studio atau Microsoft Word, menu konteks menawarkan akses cepat untuk perintah-perintah.

Anda telah melihat bahwa Windows menawarkan sebuah menu konteks untuk kontrol TextBox yang dapat Anda gunakan, dan Anda dapat mendefinisikan-ulang menu konteks default jika aplikasi Anda memerlukannya. Sebagai contoh, dimisalkan bahwa Anda memiliki sebuah aplikasi dimana di dalamnya Anda ingin agar user dapat menyalin teks ke dalam sebuah kotak teks. Ini merupakan situasi ideal untuk menyediakan menu konteks sendiri agar operasi-operasi tertentu dapat dilakukan.

Visual Studio menawarkan sebuah kontrol ContextMenuStrip yang dapat Anda pakai untuk ditempatkan pada form Anda dan untuk dimodifikasi, sama seperti yang Anda lakukan pada kontrol MenuStrip. Namun, perbedaan utama antara kontrol MenuStrip dan kontrol ContextMenuStrip adalah bahwa Anda dapat menciptakan hanya satu menu level-atas dengan kontrol ContextMenuStrip. Anda masih dapat menciptakan item-item submenu dengan ContextMenuStrip jika diperlukan. Kebanyakan kontrol pada jendela Toolbox memiliki sebuah properti ContextMenuStrip yang dapat diatur untuk menciptakan menu konteks. Ketika Anda mengklik kanan pada kontrol tersebut, menu konteks yang Anda definisikan akan ditampilkan menggantikan menu konteks default.

Sejumlah kontrol, seperti kontrol ComboBox dan ListBox, tidak memiliki menu konteks default, karena kedua kontrol itu memuat sekumpulan item, bukan satu item seperti kontrol sederhana seperti TextBox. Kedua kontrol tersebut masih memiliki properti ContextMenuStrip yang dapat dipakai untuk menciptakan menu konteks sendiri.

Menciptakan Menu Konteks
Setelah Anda mengetahui apa itu menu konteks, sekarang Anda siap untuk belajar bagaimana menciptakan dan menggunakannya pada aplikasi Visual Basic.

LATIHAN
Menciptakan Menu Konteks
Pada latihan ini, Anda akan mengembangkan contoh latihan sebelumnya dengan menambahkan sebuah menu konteks pada kotak teks. Anda akan menambahkan satu menu konteks dan menggunakannya untuk kedua kotak teks. Anda bisa saja dengan mudah menciptakan dua menu konteks, satu untuk tiap kotak teks, dan memiliki menu-menu konteks dengan fungsi-fungsi yang berbeda.

1.  Kembali ke mode design pada projek Demo Menu Windows Forms dan klik pada jendela Toolbox untuk mencari kontrol ContextMenuStrip. Geret dan jatuhkan kontrol itu pada form Anda, dimana ia akan ditambahkan di bawah form seperti kontrol MenuStrip.

2.  Pada jendela Properties, klik tombol yang ada di samping dari properti Items. Anda akan menambahkan lima item menu pada menu konteks Anda.

3. Klik tombol Add pada dialog Items Collection Editor untuk menambahkan item menu pertama dan tetapkan properti Name menjadi ContextUndoToolStripMenuItem. Klik tombol elipsis di samping properti Image dan klik tombol Import pada dialog Select Resource. Cari citra yang Anda pilih. Klik OK pada dialog tersebut untuk menutupnya dan kembali ke dialog Items Collection Editor. Tetapkan properti Text menjadi Undo.

4.  Anda akan menambahkan sebuah separator antara item menu Undo dan item menu berikutnya. Pilih Separator pada kotak combo List pada dialog Items Collection Editor dan kemudian klik tombol Add.

5.  Pilih MenuItem pada kotak combo dan klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan properti Name menjadi ContextCutToolStripMenuItem. Klik tombol yang ada di samping properti Image dan, pada dialog Select Resource, pilih citra yang Anda sukai. Terakhir, tetapkan properti Text menjadi Cut.

6. Klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan properti Name menjadi ContextCopyToolStripMenuItem. Klik tombol yang ada di samping properti Image dan, pada dialog Select Resource, pilih citra yang Anda sukai. Terakhir, tetapkan properti Text menjadi Copy.

7.  Klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan properti Name menjadi ContextPasteToolStripMenuItem. Klik tombol yang ada di samping properti Image dan, pada dialog Select Resource, pilih citra yang Anda sukai. Terakhir, tetapkan properti Text menjadi Paste.

8.  Anda akan menambahkan sebuah separator antara item menu Paste dan item menu berikutnya. Pilih Separator pada kotak combo List pada dialog Items Collection Editor dan kemudian klik tombol Add.

9.  Pilih MenuItem pada kotak combo dan klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan properti Name menjadi ContextSelectAllToolStripMenuItem. Klik tombol yang ada di samping properti Image dan, pada dialog Select Resource, pilih citra yang Anda sukai. Terakhir, tetapkan properti Text menjadi Select All.

10. Ketika selesai, klik sembarang bagian dari form untuk membuat menu konteks tak terlihat. (Anda dapat selalu menampilkannya kembali dengan mengklik kontrol ContextMenuStrip1 yang ada di bawah form).

11. Klik pada kotak teks pertama pada form Anda. Pada jendela Properties, pilih ContextMenuStrip1 pada list drop-down untuk properti ContextMenuStrip. Ulangi tindakan yang sama untuk kotak teks kedua untuk menugaskan sebuah menu konteks pada properti ContextMenuStrip.

12. Uji menu konteks Anda. Pada titik ini, Anda belum menambahkan kode untuk menu konteks tersebut, tetapi Anda dapat memastikan tampilan menu konteks. Jalankan aplikasi dan kemudian klik-kanan pada kotak teks pertama; Anda akan melihat menu konteks yang baru saja Anda tambahkan, seperti ditunjukkan pada Gambar 7.9. Menu konteks yang sama ditampilkan jika Anda mengklik kanan pada kotak teks kedua.

GAMBAR 7.9

13.Hentikan program Anda dan tukar ke editor kode untuk form Anda sehingga Anda dapat menambahkan kode untuk menu konteks. Prosedur pertama yang Anda akan tambahkan adalah untuk item menu konteks Undo. Pilih ContextUndoToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:

Private Sub ContextUndoToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ContextUndoToolStripMenuItem.Click
    'Memanggil prosedur UndoToolStripMenuItem_Click
    UndoToolStripMenuItem_Click(sender, e)
End Sub

14. Pilih ContextCutToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:

Private Sub ContextCutToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ContextCutToolStripMenuItem.Click
    'Memanggil prosedur CutToolStripMenuItem_Click
    CutToolStripMenuItem_Click(sender, e)
End Sub

15. Pilih ContextCopyToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:

Private Sub ContextCopyToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ContextCopyToolStripMenuItem.Click
    'Memanggil prosedur CopyToolStripMenuItem_Click
    CopyToolStripMenuItem_Click(sender, e)
End Sub

16. Pilih ContextPasteToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:

Private Sub ContextPasteToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ContextPasteToolStripMenuItem.Click
    'Memanggil prosedur PasteToolStripMenuItem_Click
    PasteToolStripMenuItem_Click(sender, e)
End Sub

17. Terakhir, pilih ContextSelectAllToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:

Private Sub ContextSelectAllToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ContextSelectAllToolStripMenuItem.Click
    'Memanggil prosedur SelectAllToolStripMenuItem_Click
    SelectAllToolStripMenuItem_Click(sender, e)
End Sub

18. Itulah semua kode yang perlu Anda tambahkan untuk mengimplementasikan menu konteks Anda sendiri. Sekarang jalankan projek Anda untuk melihat menu konteks Anda dan uji menu tersebut. Anda dapat menguji menu konteks dengan mengklik setiap item pada menu konteks. Setiap item pada menu konteks memiliki fungsionalitas yang sama dengan tombol ekivalen pada toolbar dan sama dengan item menu Edit.

Penjelasan
ContextMenuStrip bekerja dengan cara yang sama dengan MenuStrip, dan Anda telah melihat bahwa menciptakan sebuah menu konteks adalah perkara mudah.


Mengaktifkan dan Menonaktifkan Item Menu dan Tombol Toolbar
Setelah Anda mengimplementasikan menu konteks dan membuatnya fungsional, Anda sekarang siap untuk menuliskan kode untuk menyempurnakan fungsionalitasnya pada aplikasi Anda.

LATIHAN
Mengaktifkan dan Menonaktifkan Item Menu dan Tombol Toolbar
Pada latihan ini, Anda akan mengimplementasikan kode yang diperlukan untuk mengaktifkan dan menonaktifkan item menu, item menu konteks, dan tombol toolbar.

1.   Anda perlu menciptakan sebuah prosedur yang dapat dipanggil untuk mentoggle semua item menu, tombol toolbar, dan item menu konteks, yang mengaktifkan dan menonaktifkannya jika diperlukan. Anda akan menamai prosedur ini dengan ToggleMenu, jadi hentikan program Anda dan tambahkan prosedur berikut di akhir kode Anda:

Private Sub ToggleMenu()
    'Mendeklarasikan sebuah objek TextBox dan menetapkannya menjadi ActiveControl
    Dim objTextBox As TextBox = CType(Me.ActiveControl, TextBox)

    'Mendeklarasikan dan menetapkan sebuah variabel Boolean
    Dim blnAktif As Boolean = CType(objTextBox.SelectionLength, Boolean)

    'Mentoggle item-item menu Edit
    UndoToolStripMenuItem.Enabled = objTextBox.CanUndo
    ContextUndoToolStripMenuItem.Enabled = objTextBox.CanUndo

    'Mentoggle tombol toolbar dan item-item menu Cut
    CutToolStripButton.Enabled = blnAktif
    CutToolStripMenuItem.Enabled = blnAktif
    ContextCutToolStripMenuItem.Enabled = blnAktif

    'Mentoggle tombol toolbar dan item-item menu Copy
    CopyToolStripButton.Enabled = blnAktif
    CopyToolStripMenuItem.Enabled = blnAktif
    ContextCopyToolStripMenuItem.Enabled = blnAktif

    'Mereset variabel blnAktif
    blnAktif = My.Computer.Clipboard.ContainsText

    'Mentoggle tombol toolbar dan item-item menu Paste
    PasteToolStripButton.Enabled = blnAktif
    PasteToolStripMenuItem.Enabled = blnAktif
    ContextPasteToolStripMenuItem.Enabled = blnAktif

    'Mereset variabel blnAktif
    If objTextBox.SelectionLength < objTextBox.TextLength Then
        blnAktif = True
    Else
        blnAktif = False
    End If

    'Mentoggle semua item menu Select All
    SelectAllToolStripMenuItem.Enabled = blnAktif
    ContextSelectAllToolStripMenuItem.Enabled = blnAktif
End Sub

2.  Kembali ke mode design dan cari kontrol Timer pada jendela Toolbox. Geret kontrol ini dan tempatkan pada form Anda, dimana ia akan diposisikan ke bawah form. Pada jendela Properties, tetapkan properti Enabled menjadi True dan properti Interval menjadi 250.

3. Klik ganda pada kontrol Timer yang ada di bawah form untuk menciptakan event handler Tick dan tambahkan kode berikut:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    'Mentoggle toolbar dan item-item menu
    ToggleMenu()
End Sub

4.  Jalankan aplikasi Anda lagi. Setelah form ditampilkan, klik pada kotak teks pertama dan masukkan teks tertentu. Kemudian, klik kanan pada kotak teks tersebut untuk menampilkan menu konteks. Sekarang menu konteks akan memiliki sejumlah item menu diaktifkan, seperti ditunjukkan pada Gambar 7.10, seperti pada tombol-tombol toolbar dan item-item menu Edit.

GAMBAR 7.10

Penjelasan
Hal pertama yang Anda lakukan pada prosedur ToggleMenu adalah mendeklarasikan sebuah objek dan menetapkannya sama dengan kontrol TextBox aktif:

'Mendeklarasikan sebuah objek TextBox dan menetapkannya menjadi ActiveControl
Dim objTextBox As TextBox = CType(Me.ActiveControl, TextBox)

Selanjutnya, Anda mendeklarasikan sebuah variabel Boolean yang akan dipakai untuk menentukan apakah sebuah properti akan ditetapkan True atau False, dan awalnya menetapkannya berdasarkan pada properti SelectionLength dari kotak teks aktif. Properti SelectionLength menghasilkan banyak karakter yang diseleksi pada sebuah kotak teks. Anda dapat menggunakan nilai ini untuk berperan sebagai sebuah nilai True atau False karena sebuah nilai False pada Visual Basic adalah nol dan sebuah nilai True adalah satu. Karena nilai False selalu dievaluasi lebih dahulu, sembarang nilai selain nol akan dievaluasi True.

Agar ini terjadi, Anda perlu mengkonversi properti SelectionLength dari sebuah tipe data Integer menjadi sebuah tipe data Boolean menggunakan fungsi CType, seperti ditunjukkan di sini:

'Mendeklarasikan dan menetapkan sebuah variabel Boolean
Dim blnAktif As Boolean = CType(objTextBox.SelectionLength, Boolean)

Item menu Edit pertama adalah Undo, jadi Anda mengawalinya dari item tersebut. Kelas TextBox memiliki sebuah properti dengan nama CanUndo, yang menghasilkan sebuah nilai True atau False, yang mengindikasikan apakah operasi terakhir yang dilakukan pada kotak teks dapat dibatalkan atau tidak.

Anda menggunakan properti CanUndo untuk menetapkan properti Enabled dari item menu Edit. Properti Enabled ditetapkan menggunakan sebuah nilai Boolean, karena properti CanUndo menghasilkan sebuah nilai Boolean. Kode berikut menunjukkan pada Anda bagaimana menetapkan properti Enabled dari item menu dan item menu konteks Undo:

'Mentoggle item-item menu Edit
UndoToolStripMenuItem.Enabled = objTextBox.CanUndo
ContextUndoToolStripMenuItem.Enabled = objTextBox.CanUndo

Item menu selanjutnya pada menu Edit adalah item menu Cut. Anda telah menetapkan variabel blnAktif, sehingga kode berikut hanya menggunakan nilai yang dimuatnya untuk menetapkan variabel properti Enabled dari item menu, tombol toolbar, dan item menu konteks Cut:

'Mentoggle tombol toolbar dan item-item menu Cut
CutToolStripButton.Enabled = blnAktif
CutToolStripMenuItem.Enabled = blnAktif
ContextCutToolStripMenuItem.Enabled = blnAktif

Item menu berikutnya pada menu Edit adalah item menu Copy. Lagi, Anda menggunakan variabel blnAktif untuk menetapkan properti Enabled:

'Mentoggle tombol toolbar dan item-item menu Copy
CopyToolStripButton.Enabled = blnAktif
CopyToolStripMenuItem.Enabled = blnAktif
ContextCopyToolStripMenuItem.Enabled = blnAktif

Item menu selanjutnya pada menu Edit adalah item menu Paste. Penetapan properti Enabled dari item menu ini memerlukan kerja ekstra. Anda memeriksa properti ContainsText dari objek My.Computer.Clipboard untuk menerima sebuah nilai Boolean yang mengindikasikan apakah Clipboard memuat sembarang teks. Anda kemudian menetapkan nilai Boolean itu di dalam variabel blnAktif, yangdipakai untuk menetapkan properti Enabled dari tombol toolbar Paste, item menu Paste, dan item menu konteks Paste, seperti ditunjukkan pada kode berikut:

'Mereset variabel blnAktif
blnAktif = My.Computer.Clipboard.ContainsText

'Mentoggle tombol toolbar dan item-item menu Paste
PasteToolStripButton.Enabled = blnAktif
PasteToolStripMenuItem.Enabled = blnAktif
ContextPasteToolStripMenuItem.Enabled = blnAktif

Item menu Edit terakhir adalah item menu Select All. Anda sekali lagi menggunakan properti SelectionLength untuk menentukan apakah ada teks yang diseleksi. Jika properti SelectionLength bernilai kurang dari properti TextLength, Anda menetapkan variabel blnAktif menjadi True; jika tidak, Anda menetapkannya False. Setelah variabel blnAktif telah ditetapkan, Anda menggunakan variabel itu untuk menetapkan properti Enabled dari item menu Select All dan item menu konteks Select All:

'Mereset variabel blnAktif
If objTextBox.SelectionLength < objTextBox.TextLength Then
    blnAktif = True
Else
    blnAktif = False
End If

'Mentoggle semua item menu Select All
SelectAllToolStripMenuItem.Enabled = blnAktif
ContextSelectAllToolStripMenuItem.Enabled = blnAktif

Untuk mengaktifkan dan menonaktifkan item menu, item menu konteks, dan tombol toolbar, Anda perlu memanggil prosedur ToggleMenu. Tempat terbaik untuk melakukannya adalah event Tick dari kontrol Timer yang Anda tempatkan pada form. Event Tick dipicu menggunakan properti Interval yang Anda tetapkan sebesar 250. Properti Interval diekspresikan dalam milidetik, dimana 1000 milidetik sama dengan 1 detik. Jadi, event Tick dari kontrol Timer akan dipicu untuk setiap seperempat detik:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Mentoggle toolbar dan item-item menu
ToggleMenu()
End Sub







No comments:

Post a Comment