Bagikan melalui


ScrollableControl.AutoScroll Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontainer memungkinkan pengguna untuk menggulir ke kontrol apa pun yang ditempatkan di luar batas yang terlihat.

public:
 virtual property bool AutoScroll { bool get(); void set(bool value); };
public virtual bool AutoScroll { get; set; }
member this.AutoScroll : bool with get, set
Public Overridable Property AutoScroll As Boolean

Nilai Properti

true jika kontainer memungkinkan pengguliran otomatis; jika tidak, false. Nilai defaultnya adalah false.

Contoh

Contoh kode berikut menunjukkan bagaimana bilah gulir horizontal dan/atau vertikal disediakan secara otomatis sesuai kebutuhan saat AutoScroll properti diatur ke true. Untuk menjalankan contoh, ikuti langkah-langkah berikut:

  1. Buat aplikasi Formulir Windows baru.

  2. Panel Tambahkan ke formulir.

  3. TextBox Tambahkan ke panel dan beri nama text1.

  4. Pindahkan kotak teks sehingga bagian kanan meluas di luar tepi kanan panel.

    Anda hanya akan melihat kerangka bagian kotak teks yang berada di luar batas panel. Jika seluruh kotak teks terlihat, kotak teks berada di formulir dan bukan di panel.

  5. Button Tambahkan ke formulir.

  6. Tambahkan handler untuk Click peristiwa tombol.

  7. Tambahkan kode contoh berikut dan panggil dari handler tombol Click .

Saat menjalankan contoh, Anda hanya dapat melihat bagian kotak teks yang berada di dalam batas panel. Saat Anda mengklik tombol, Anda akan melihat bilah gulir horizontal muncul yang akan memungkinkan Anda melihat kotak teks lainnya.

Jika Anda memposisikan bagian dari kotak teks di bawah bagian bawah panel, Anda akan melihat bilah gulir vertikal saat Mengklik tombol.

Contoh kode memeriksa untuk melihat apakah kotak teks berada di luar batas panel sebelum mengatur AutoScroll properti ke true, dan sebelum mengatur AutoScrollMargin properti. Pemeriksaan di luar batas ini tidak diperlukan. Jika AutoScroll diatur ke true, tidak ada bilah gulir yang akan muncul ketika kotak teks sepenuhnya berada di dalam panel. Selain itu, Anda dapat membiarkan margin pada pengaturan default 0,0.

void SetAutoScrollMargins()
{
   /* If the text box is outside the panel's bounds, 
          turn on auto-scrolling and set the margin. */
   if ( text1->Location.X > panel1->Location.X || text1->Location.Y > panel1->Location.Y )
   {
      panel1->AutoScroll = true;

      /* If the AutoScrollMargin is set to less 
                than (5,5), set it to 5,5. */
      if ( panel1->AutoScrollMargin.Width < 5 || panel1->AutoScrollMargin.Height < 5 )
      {
         panel1->SetAutoScrollMargin( 5, 5 );
      }
   }
}
private void SetAutoScrollMargins()
 {
    /* If the text box is outside the panel's bounds, 
       turn on auto-scrolling and set the margin. */  
    if (text1.Location.X > panel1.Location.X || 
       text1.Location.Y > panel1.Location.Y)
    {
       panel1.AutoScroll = true;
       /* If the AutoScrollMargin is set to less 
          than (5,5), set it to 5,5. */
       if( panel1.AutoScrollMargin.Width < 5 || 
          panel1.AutoScrollMargin.Height < 5)
       {
          panel1.SetAutoScrollMargin(5, 5);
       }
    }
 }
Private Sub SetAutoScrollMargins()
    ' If the text box is outside the panel's bounds,
    ' turn on auto-scrolling and set the margin. 
    If (text1.Location.X > panel1.Location.X) Or _
        (text1.Location.Y > panel1.Location.Y) Then
        panel1.AutoScroll = True
        ' If the AutoScrollMargin is set to less
        ' than (5,5), set it to 5,5. 
        If (panel1.AutoScrollMargin.Width < 5) Or _
            (panel1.AutoScrollMargin.Height < 5) Then
            
            panel1.SetAutoScrollMargin(5, 5)
        End If
    End If
End Sub

Keterangan

Ketika true, properti ini memungkinkan kontainer untuk memiliki ukuran virtual yang lebih besar dari batas yang terlihat.

Nota

Di Formulir Windows ketika kontrol anak dilabuhkan ke kanan atau bawah (Control berisi Right atau Bottom) Kontainer akan berperilaku seolah-olah AutoScroll diatur ke false.

Saat ini ada batasan dalam Formulir Windows yang mencegah semua kelas yang berasal dari ScrollableControl bertindak dengan benar ketika keduanya RightToLeft diaktifkan dan AutoScroll diatur ke true. Misalnya, Anda menempatkan kontrol seperti Panel - atau kelas kontainer yang berasal dari Panel (seperti FlowLayoutPanel atau TableLayoutPanel) - pada formulir Anda. Jika Anda mengatur AutoScroll pada kontainer ke true lalu mengatur Anchor properti pada satu atau beberapa kontrol di dalam kontainer ke Right, maka tidak ada bilah gulir yang pernah muncul. Kelas yang berasal dari ScrollableControl bertindak seolah-olah AutoScroll diatur ke false. Saat ini, satu-satunya solusi adalah bersarang di dalam yang ScrollableControl lain ScrollableControl. Misalnya, jika Anda perlu TableLayoutPanel bekerja dalam situasi ini, Anda dapat menempatkannya di dalam Panel kontrol dan mengatur AutoScroll ke Paneltrue.

Nota

AutoScroll mempertahankan visibilitas bilah gulir secara otomatis. Oleh karena itu, mengatur HScroll properti atau VScroll tidak true berpengaruh ketika AutoScroll diaktifkan.

Berlaku untuk

Lihat juga