Bagikan melalui


Perilaku keyboard dan mouse default dengan kontrol DataGridView

Tabel berikut ini menjelaskan bagaimana pengguna dapat berinteraksi dengan DataGridView kontrol melalui keyboard dan mouse.

Catatan

Untuk menyesuaikan perilaku keyboard, Anda dapat menangani peristiwa keyboard standar seperti KeyDown. Namun, dalam mode edit, kontrol pengeditan yang dihosting menerima input keyboard dan peristiwa keyboard tidak terjadi untuk DataGridView kontrol. Untuk menangani peristiwa kontrol pengeditan, lampirkan handler Anda ke kontrol pengeditan di penanganan EditingControlShowing aktivitas. Atau, Anda dapat menyesuaikan perilaku keyboard dalam DataGridView subkelas dengan mengesampingkan ProcessDialogKey metode dan ProcessDataGridViewKey .

Penanganan keyboard default

Navigasi dasar dan kunci entri

Kombinasi kunci atau kunci Deskripsi
Panah bawah Memindahkan fokus ke sel tepat di bawah sel saat ini. Jika fokus berada di baris terakhir, tidak melakukan apa pun.
Panah kiri Memindahkan fokus ke sel sebelumnya dalam baris. Jika fokus berada di sel pertama dalam baris, tidak melakukan apa pun.
Panah kanan Memindahkan fokus ke sel berikutnya dalam baris. Jika fokus berada di sel terakhir dalam baris, tidak melakukan apa pun.
Panah atas Memindahkan fokus ke sel tepat di atas sel saat ini. Jika fokus berada di baris pertama, tidak melakukan apa pun.
Rumah Memindahkan fokus ke sel pertama di baris saat ini.
Akhir Memindahkan fokus ke sel terakhir di baris saat ini.
Halaman ke bawah Menggulir kontrol ke bawah dengan jumlah baris yang ditampilkan sepenuhnya. Memindahkan fokus ke baris terakhir yang ditampilkan sepenuhnya tanpa mengubah kolom.
Halaman atas Menggulir kontrol ke atas dengan jumlah baris yang ditampilkan sepenuhnya. Memindahkan fokus ke baris pertama yang ditampilkan tanpa mengubah kolom.
Tab StandardTab Jika nilai properti adalah false, memindahkan fokus ke sel berikutnya di baris saat ini. Jika fokus sudah ada di sel terakhir baris, memindahkan fokus ke sel pertama di baris berikutnya. Jika fokus berada di sel terakhir dalam kontrol, memindahkan fokus ke kontrol berikutnya dalam urutan tab kontainer induk.

StandardTab Jika nilai properti adalah true, memindahkan fokus ke kontrol berikutnya dalam urutan tab kontainer induk.
Shift + Tab StandardTab Jika nilai properti adalah false, memindahkan fokus ke sel sebelumnya di baris saat ini. Jika fokus sudah ada di sel pertama baris, memindahkan fokus ke sel terakhir di baris sebelumnya. Jika fokus berada di sel pertama dalam kontrol, memindahkan fokus ke kontrol sebelumnya dalam urutan tab kontainer induk.

StandardTab Jika nilai properti adalah true, memindahkan fokus ke kontrol sebelumnya dalam urutan tab kontainer induk.
Tab Ctrl + StandardTab Jika nilai properti adalah false, memindahkan fokus ke kontrol berikutnya dalam urutan tab kontainer induk.

StandardTab Jika nilai properti adalah true, memindahkan fokus ke sel berikutnya di baris saat ini. Jika fokus sudah ada di sel terakhir baris, memindahkan fokus ke sel pertama di baris berikutnya. Jika fokus berada di sel terakhir dalam kontrol, memindahkan fokus ke kontrol berikutnya dalam urutan tab kontainer induk.
Tab Shift + Ctrl + StandardTab Jika nilai properti adalah false, memindahkan fokus ke kontrol sebelumnya dalam urutan tab kontainer induk.

StandardTab Jika nilai properti adalah true, memindahkan fokus ke sel sebelumnya di baris saat ini. Jika fokus sudah ada di sel pertama baris, memindahkan fokus ke sel terakhir di baris sebelumnya. Jika fokus berada di sel pertama dalam kontrol, memindahkan fokus ke kontrol sebelumnya dalam urutan tab kontainer induk.
Panah Ctrl + Memindahkan fokus ke sel terjauh ke arah panah.
Beranda Ctrl + Memindahkan fokus ke sel pertama dalam kontrol.
Akhir Ctrl + Memindahkan fokus ke sel terakhir dalam kontrol.
Ctrl + Page down/up Sama seperti Page down atau Page up.
F2 Menempatkan sel saat ini ke dalam mode edit sel jika EditMode nilai properti adalah EditOnF2 atau EditOnKeystrokeOrF2.
F3 Mengurutkan kolom saat ini jika DataGridViewColumn.SortMode nilai properti adalah Automatic. Ini sama dengan mengklik header kolom saat ini. Tersedia sejak .NET Framework 4.7.2. Untuk mengaktifkan fitur ini, aplikasi harus menargetkan .NET Framework 4.7.2 atau versi yang lebih baru atau secara eksplisit memilih peningkatan aksesibilitas menggunakan sakelar AppContext.
F4 Jika sel saat ini adalah DataGridViewComboBoxCell, menempatkan sel ke mode edit dan menampilkan daftar drop-down.
Panah Atas/Bawah Alt + Jika sel saat ini adalah DataGridViewComboBoxCell, menempatkan sel ke mode edit dan menampilkan daftar drop-down.
Panah Kiri/Kanan Alt + Menambah atau mengurangi lebar kolom sel saat ini.
Ruang Jika sel saat ini adalah DataGridViewButtonCell, , DataGridViewLinkCellatau DataGridViewCheckBoxCell, akan menaikkan CellClick peristiwa dan CellContentClick . Jika sel saat ini adalah DataGridViewButtonCell, tekan juga tombol . Jika sel saat ini adalah DataGridViewCheckBoxCell, ubah juga status pemeriksaan.
Enter Menerapkan perubahan apa pun pada sel dan baris saat ini dan memindahkan fokus ke sel tepat di bawah sel saat ini. Jika fokus berada di baris terakhir, terapkan perubahan apa pun tanpa memindahkan fokus.
Esc Jika kontrol dalam mode edit, membatalkan pengeditan. Jika kontrol tidak dalam mode edit, kembalikan perubahan apa pun yang telah dibuat ke baris saat ini jika kontrol terikat ke sumber data yang mendukung pengeditan atau mode virtual telah diimplementasikan dengan cakupan penerapan tingkat baris.
Backspace Menghapus karakter sebelum titik penyisipan saat mengedit sel.
Hapus Menghapus karakter setelah titik penyisipan saat mengedit sel.
Ctrl + Enter Menerapkan perubahan apa pun pada sel saat ini tanpa memindahkan fokus. Juga menerapkan perubahan apa pun pada baris saat ini jika kontrol terikat ke sumber data yang mendukung pengeditan atau mode virtual telah diterapkan dengan cakupan penerapan tingkat baris.
Ctrl + 0 DBNull.Value Memasukkan nilai ke dalam sel saat ini jika sel dapat diedit. Secara default, nilai tampilan untuk DBNull nilai sel adalah nilai NullValue properti yang DataGridViewCellStyle berlaku untuk sel saat ini.

Kunci pilihan

MultiSelect Jika properti diatur ke false dan SelectionMode properti diatur ke CellSelect, mengubah sel saat ini dengan menggunakan tombol navigasi mengubah pilihan ke sel baru. Tombol Shift, Ctrl, dan Alt tidak memengaruhi perilaku ini.

SelectionMode Jika diatur ke RowHeaderSelect atau ColumnHeaderSelect, perilaku yang sama terjadi tetapi dengan penambahan berikut.

Kombinasi kunci atau kunci Deskripsi
Shift + Spacebar Memilih baris atau kolom lengkap (sama seperti mengklik header baris atau kolom).
tombol navigasi (tombol panah, Halaman atas/bawah, Beranda, Akhir) Jika baris atau kolom lengkap dipilih, mengubah sel saat ini ke baris atau kolom baru memindahkan pilihan ke baris atau kolom baru penuh (tergantung pada mode pemilihan).

Jika MultiSelect diatur ke false dan SelectionMode diatur ke FullRowSelect atau FullColumnSelect, mengubah sel saat ini ke baris atau kolom baru dengan menggunakan keyboard memindahkan pilihan ke baris atau kolom baru penuh. Tombol Shift, Ctrl, dan Alt tidak memengaruhi perilaku ini.

Jika MultiSelect diatur ke true, perilaku navigasi tidak berubah, tetapi menavigasi dengan keyboard saat menekan Shift (termasuk Ctrl + Shift) akan mengubah pilihan multi-sel. Sebelum navigasi dimulai, kontrol menandai sel saat ini sebagai sel jangkar. Saat Anda menavigasi saat menekan Shift, pilihan menyertakan semua sel antara sel jangkar dan sel saat ini. Sel lain dalam kontrol akan tetap dipilih jika sudah dipilih, tetapi mungkin tidak dipilih jika navigasi keyboard untuk sementara menempatkannya di antara sel jangkar dan sel saat ini.

Jika MultiSelect diatur ke true dan SelectionMode diatur ke FullRowSelect atau FullColumnSelect, perilaku sel jangkar dan sel saat ini sama, tetapi hanya baris atau kolom penuh yang dipilih atau tidak dipilih.

Penanganan mouse default

Penanganan mouse dasar

Catatan

Mengklik sel dengan tombol kiri mouse selalu mengubah sel saat ini. Mengklik sel dengan tombol kanan mouse akan membuka menu pintasan, saat tersedia.

Tindakan mouse Deskripsi
Tombol kiri mouse ke bawah Membuat sel yang diklik menjadi sel saat ini, dan menaikkan DataGridView.CellMouseDown peristiwa.
Tombol kiri mouse ke atas Menaikkan DataGridView.CellMouseUp peristiwa
Klik tombol mouse kiri Menaikkan DataGridView.CellClick peristiwa dan DataGridView.CellMouseClick
Tombol kiri mouse ke bawah, dan seret pada sel header kolom DataGridView.AllowUserToOrderColumns Jika properti adalah true, memindahkan kolom sehingga dapat dijatuhkan ke posisi baru.

Pilihan mouse

Tidak ada perilaku pemilihan yang terkait dengan tombol mouse tengah atau roda mouse.

MultiSelect Jika properti diatur ke false dan SelectionMode properti diatur ke CellSelect, perilaku berikut terjadi.

Tindakan mouse Deskripsi
Klik Hanya memilih sel saat ini jika pengguna mengklik sel. Tidak ada perilaku pilihan jika pengguna mengklik header baris atau kolom.
Klik kanan Menampilkan menu pintasan jika tersedia.

Perilaku yang sama terjadi ketika SelectionMode diatur ke RowHeaderSelect atau ColumnHeaderSelect, kecuali itu, tergantung pada mode pemilihan, mengklik baris atau header kolom akan memilih baris atau kolom lengkap dan mengatur sel saat ini ke sel pertama di baris atau kolom.

Jika SelectionMode diatur ke FullRowSelect atau FullColumnSelect, mengklik sel apa pun dalam baris atau kolom akan memilih baris atau kolom lengkap.

Jika MultiSelect diatur ke true, mengklik sel saat menekan Ctrl atau Shift akan mengubah pilihan multi-sel.

Saat Anda mengklik sel saat menekan Ctrl, sel akan mengubah status pilihannya sementara semua sel lain mempertahankan status pilihannya saat ini.

Saat Anda mengklik sel atau serangkaian sel saat menekan Shift, pilihan menyertakan semua sel antara sel saat ini dan sel jangkar yang terletak di posisi sel saat ini sebelum klik pertama. Saat Anda mengklik dan menyeret penunjuk di beberapa sel, sel jangkar adalah sel yang diklik di awal operasi seret. Klik berikutnya saat menekan Shift mengubah sel saat ini, tetapi bukan sel jangkar. Sel lain dalam kontrol akan tetap dipilih jika sudah dipilih, tetapi mungkin tidak dipilih jika navigasi mouse untuk sementara menempatkannya di antara sel jangkar dan sel saat ini.

Jika MultiSelect diatur ke true dan SelectionMode diatur ke RowHeaderSelect atau ColumnHeaderSelect, mengklik header baris atau kolom (tergantung pada mode pemilihan) saat menekan Shift akan mengubah pilihan baris atau kolom lengkap yang ada jika pilihan tersebut ada. Jika tidak, ini akan menghapus pilihan dan memulai pilihan baru baris atau kolom lengkap. Namun, mengklik header baris atau kolom saat menekan Ctrl, akan menambahkan atau menghapus baris atau kolom yang diklik dari pilihan saat ini tanpa mengubah pilihan saat ini.

Jika MultiSelect diatur ke true dan SelectionMode diatur ke FullRowSelect atau FullColumnSelect, mengklik sel sambil menekan Shift atau Ctrl berperilaku sama kecuali bahwa hanya baris dan kolom penuh yang terpengaruh.

Baca juga