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.