Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menempatkan pernyataan kontrol di dalam pernyataan kontrol lainnya, misalnya sebuah blok If...Then...Else di dalam sebuah perulangan For...Next. Pernyataan kontrol yang ditempatkan di dalam pernyataan kontrol lain dikatakan bersarang.
Tingkat Penyusunan Bertingkat
Struktur kontrol di Visual Basic dapat disarangkan ke tingkat sebanyak yang Anda inginkan. Adalah praktik umum untuk membuat struktur berlapis lebih mudah dibaca dengan mengindentasi bagian dalam setiap struktur. Editor lingkungan pengembangan terintegrasi (IDE) secara otomatis melakukan ini.
Dalam contoh berikut, prosedur sumRows menambahkan bersama-sama elemen positif dari setiap baris matriks.
Public Sub sumRows(ByVal a(,) As Double, ByRef r() As Double)
Dim i, j As Integer
For i = 0 To UBound(a, 1)
r(i) = 0
For j = 0 To UBound(a, 2)
If a(i, j) > 0 Then
r(i) = r(i) + a(i, j)
End If
Next j
Next i
End Sub
Dalam contoh sebelumnya, pernyataan pertama Next menutup perulangan dalam For dan pernyataan terakhir Next menutup perulangan luar For .
Demikian juga, dalam pernyataan berlapis If, pernyataan End If secara otomatis berlaku untuk pernyataan If sebelumnya yang terdekat. Perulangan bersarang Do bekerja dengan cara yang sama, dengan pernyataan terdalam Loop yang cocok dengan pernyataan terdalam Do.
Nota
Untuk banyak struktur kontrol, saat Anda mengklik kata kunci, semua kata kunci dalam struktur disorot. Misalnya, ketika Anda mengklik If dalam konstruksi If...Then...Else, semua instans If, Then, ElseIf, Else, dan End If dalam konstruksi tersebut disorot. Untuk berpindah ke kata kunci berikutnya atau sebelumnya yang disorot, tekan CTRL+SHIFT+PANAH BAWAH atau CTRL+SHIFT+PANAH ATAS.
Menyusun Berbagai Jenis Struktur Kontrol
Anda dapat menyisipkan satu jenis struktur kontrol dalam jenis lainnya. Contoh berikut menggunakan blok With di dalam perulangan For Each dan blok If bersarang di dalam blok With.
For Each ctl As System.Windows.Forms.Control In Me.Controls
With ctl
.BackColor = System.Drawing.Color.Yellow
.ForeColor = System.Drawing.Color.Black
If .CanFocus Then
.Text = "Colors changed"
If Not .Focus() Then
' Insert code to process failed focus.
End If
End If
End With
Next ctl
Struktur Kontrol Tumpang Tindih
Anda tidak dapat tumpang tindih struktur kontrol. Ini berarti bahwa struktur berlapis apa pun harus sepenuhnya terkandung dalam struktur paling dalam berikutnya. Misalnya, pengaturan berikut tidak valid karena perulangan For berakhir sebelum blok dalam With berakhir.
Pengkompilasi Visual Basic mendeteksi struktur kontrol yang tumpang tindih dan menandakan kesalahan waktu kompilasi.