DataGridView denetimiyle varsayılan klavye ve fare davranışı

Aşağıdaki tablolarda kullanıcıların klavye ve fare aracılığıyla denetimle DataGridView nasıl etkileşim kurabileceği açıklanmaktadır.

Dekont

Klavye davranışını özelleştirmek için gibi KeyDownstandart klavye olaylarını işleyebilirsiniz. Ancak düzenleme modunda barındırılan düzenleme denetimi klavye girişini alır ve denetim için DataGridView klavye olayları gerçekleşmez. Düzenleme denetimi olaylarını işlemek için, işleyicilerinizi bir EditingControlShowing olay işleyicisindeki düzenleme denetimine ekleyin. Alternatif olarak, ve ProcessDataGridViewKey yöntemlerini geçersiz kılarak ProcessDialogKey bir DataGridView alt sınıftaki klavye davranışını özelleştirebilirsiniz.

Varsayılan klavye işleme

Temel gezinti ve giriş tuşları

Tuş veya tuş bileşimi Tanım
Aşağı ok Odağı geçerli hücrenin hemen altındaki hücreye taşır. Odak son satırdaysa hiçbir şey yapmaz.
Sol ok Odağı satırdaki bir önceki hücreye taşır. Odak satırdaki ilk hücredeyse hiçbir şey yapmaz.
Sağ ok Odağı satırdaki bir sonraki hücreye taşır. Odak satırdaki son hücredeyse hiçbir şey yapmaz.
Yukarı ok Odağı geçerli hücrenin hemen üstündeki hücreye taşır. Odak ilk satırdaysa hiçbir şey yapmaz.
Giriş Sayfası Odağı geçerli satırdaki ilk hücreye taşır.
Son Odağı geçerli satırdaki son hücreye taşır.
Sayfa aşağı Denetimi tam olarak görüntülenen satır sayısına göre aşağı doğru kaydırır. Sütunları değiştirmeden odağı tam olarak görüntülenen son satıra taşır.
Sayfa yukarı Denetimi, tam olarak görüntülenen satır sayısına göre yukarı doğru kaydırır. Sütunları değiştirmeden odağı ilk görüntülenen satıra taşır.
Sekme StandardTab Özellik değeri isefalse, odağı geçerli satırdaki bir sonraki hücreye taşır. Odak zaten satırın son hücresindeyse, odağı sonraki satırdaki ilk hücreye taşır. Odak denetimdeki son hücredeyse, odağı üst kapsayıcının sekme sırasına göre bir sonraki denetime taşır.

StandardTab Özellik değeri isetrue, odağı üst kapsayıcının sekme sırasına göre bir sonraki denetime taşır.
Shift + Sekmesi StandardTab Özellik değeri isefalse, odağı geçerli satırdaki önceki hücreye taşır. Odak zaten satırın ilk hücresindeyse, odağı önceki satırdaki son hücreye taşır. Odak denetimdeki ilk hücredeyse, odağı üst kapsayıcının sekme sırasına göre önceki denetime taşır.

StandardTab Özellik değeri isetrue, odağı üst kapsayıcının sekme sırasına göre önceki denetime taşır.
Ctrl + Sekmesi StandardTab Özellik değeri isefalse, odağı üst kapsayıcının sekme sırasına göre bir sonraki denetime taşır.

StandardTab Özellik değeri isetrue, odağı geçerli satırdaki bir sonraki hücreye taşır. Odak zaten satırın son hücresindeyse, odağı sonraki satırdaki ilk hücreye taşır. Odak denetimdeki son hücredeyse, odağı üst kapsayıcının sekme sırasına göre bir sonraki denetime taşır.
Ctrl + Shift Sekmesi + StandardTab Özellik değeri isefalse, odağı üst kapsayıcının sekme sırasına göre önceki denetime taşır.

StandardTab Özellik değeri isetrue, odağı geçerli satırdaki önceki hücreye taşır. Odak zaten satırın ilk hücresindeyse, odağı önceki satırdaki son hücreye taşır. Odak denetimdeki ilk hücredeyse, odağı üst kapsayıcının sekme sırasına göre önceki denetime taşır.
Ctrl + oku Odağı ok yönündeki en uzak hücreye taşır.
Ctrl + Giriş Odağı denetimdeki ilk hücreye taşır.
Ctrl + Ucu Odağı denetimdeki son hücreye taşır.
Ctrl + Sayfa aşağı/yukarı Page down veya Page up ile aynı.
F2 Özellik değeri EditOnF2 veya EditOnKeystrokeOrF2ise geçerli hücreyi EditMode hücre düzenleme moduna geçirir.
F3 Özellik değeri ise DataGridViewColumn.SortMode geçerli sütunu sıralar Automatic. Geçerli sütun üst bilgisine tıklamayla aynıdır. .NET Framework 4.7.2'den itibaren kullanılabilir. Bu özelliği etkinleştirmek için uygulamaların .NET Framework 4.7.2 veya sonraki sürümleri hedeflemesi veya AppContext anahtarlarını kullanarak erişilebilirlik iyileştirmelerini açıkça kabul etmesi gerekir.
F4 Geçerli hücre bir DataGridViewComboBoxCellise, hücreyi düzenleme moduna alır ve açılan listeyi görüntüler.
Alt + Yukarı/Aşağı ok Geçerli hücre bir DataGridViewComboBoxCellise, hücreyi düzenleme moduna alır ve açılan listeyi görüntüler.
Alt + Sol/Sağ ok Geçerli hücre sütununun genişliğini artırır veya azaltır.
Space Geçerli hücre bir DataGridViewButtonCell, DataGridViewLinkCellveya DataGridViewCheckBoxCellise ve CellContentClick olaylarını CellClick oluşturur. Geçerli hücre bir DataGridViewButtonCellise, düğmeye de basılır. Geçerli hücre bir DataGridViewCheckBoxCellise, denetim durumunu da değiştirir.
Girin Değişiklikleri geçerli hücreye ve satıra işler ve odağı geçerli hücrenin hemen altındaki hücreye taşır. Odak son satırdaysa, odağı taşımadan değişiklikleri işler.
Esc Denetim düzenleme modundaysa, düzenlemeyi iptal eder. Denetim düzenleme modunda değilse, denetim düzenlemeyi destekleyen bir veri kaynağına bağlıysa veya sanal mod satır düzeyi işleme kapsamıyla uygulandıysa geçerli satırda yapılan değişiklikleri geri alır.
Backspace Hücreyi düzenlerken ekleme noktasından önceki karakteri siler.
Silme Hücreyi düzenlerken ekleme noktasından sonraki karakteri siler.
Ctrl + Enter Odağı taşımadan geçerli hücrede yapılan değişiklikleri işler. Ayrıca, denetim düzenlemeyi destekleyen bir veri kaynağına bağlıysa veya satır düzeyi işleme kapsamıyla sanal mod uygulandıysa, geçerli satırda yapılan tüm değişiklikleri işler.
Ctrl + 0 Hücre düzenlenebiliyorsa geçerli hücreye bir DBNull.Value değer girer. Varsayılan olarak, hücre DBNull değerinin görüntüleme değeri geçerli hücre için etkin özelliğinin DataGridViewCellStyle değeridirNullValue.

Seçim tuşları

MultiSelect Özelliği olarak ayarlanırsa false ve SelectionMode özelliği olarak ayarlanırsaCellSelect, gezinti tuşlarını kullanarak geçerli hücrenin değiştirilmesi seçimi yeni hücreye değiştirir. Shift, Ctrl ve Alt tuşları bu davranışı etkilemez.

SelectionMode veya ColumnHeaderSelectolarak ayarlanırsaRowHeaderSelect, aşağıdaki eklemelerle aynı davranış gerçekleşir.

Tuş veya tuş bileşimi Tanım
Shift + Ara Çubuğu Tam satırı veya sütunu seçer (satır veya sütun başlığına tıklamayla aynıdır).
gezinti tuşu (ok tuşu, Page up/down, Home, End) Tam bir satır veya sütun seçiliyse, geçerli hücreyi yeni satır veya sütun olarak değiştirmek seçimi tam yeni satıra veya sütuna taşır (seçim moduna bağlı olarak).

olarak ayarlanırsa ve veya olarak ayarlanırsa MultiSelectFullRowSelect, klavyeyi kullanarak geçerli hücreyi yeni bir satır veya sütuna değiştirmek, seçimi tam yeni satıra veya sütuna taşır.FullColumnSelectSelectionModefalse Shift, Ctrl ve Alt tuşları bu davranışı etkilemez.

olarak ayarlanırsa MultiSelecttrue, gezinti davranışı değişmez, ancak Shift tuşuna basarken (Ctrl + Shift dahil) klavyeyle gezinmek çok hücreli bir seçimi değiştirir. Gezinti başlamadan önce, denetim geçerli hücreyi bir tutturucu hücre olarak işaretler. Shift tuşuna basarken gezindiğinizde, seçim tutturucu hücre ile geçerli hücre arasındaki tüm hücreleri içerir. Denetimdeki diğer hücreler zaten seçiliyse seçili kalır, ancak klavye gezintisi bunları geçici olarak tutturucu hücre ile geçerli hücre arasına yerleştirirse seçilmemiş olabilirler.

olarak ayarlanırsa ve veya olarak ayarlanırsa MultiSelectFullRowSelect, tutturucu hücrenin ve geçerli hücrenin davranışı aynıdır, ancak yalnızca tam satırlar veya sütunlar seçilir veya seçilmez.FullColumnSelectSelectionModetrue

Varsayılan fare işleme

Temel fare kullanımı

Dekont

Sol fare düğmesiyle bir hücreye tıklanması her zaman geçerli hücreyi değiştirir. Sağ fare düğmesiyle bir hücreye tıklandığında, kullanılabilir olduğunda bir kısayol menüsü açılır.

Fare eylemi Tanım
Sol fare düğmesi aşağı Tıklanan hücreyi geçerli hücre yapar ve olayı tetikler DataGridView.CellMouseDown .
Sol fare düğmesi yukarı Olayı tetikler DataGridView.CellMouseUp
Sol fare düğmesine tıklama ve DataGridView.CellMouseClick olaylarını DataGridView.CellClick yükseltir
Sol fare düğmesi aşağı ve sütun üst bilgi hücresinde sürükleyin DataGridView.AllowUserToOrderColumns özelliği isetrue, sütunu yeni bir konuma bırakılabilmesi için taşır.

Fare seçimi

Ortadaki fare düğmesi veya fare tekerleği ile hiçbir seçim davranışı ilişkilendirilmemiştir.

MultiSelect özelliği olarak ayarlanırsa false ve SelectionMode özelliği olarak ayarlanırsa CellSelectaşağıdaki davranış gerçekleşir.

Fare eylemi Tanım
İleri'ye Yalnızca kullanıcı bir hücreye tıklarsa geçerli hücreyi seçer. Kullanıcı bir satır veya sütun üst bilgisine tıklarsa seçim davranışı olmaz.
Diskler'e sağ Varsa bir kısayol menüsü görüntüler.

veya ColumnHeaderSelectolarak ayarlandığında RowHeaderSelect aynı davranış oluşurSelectionMode, ancak seçim moduna bağlı olarak bir satır veya sütun başlığına tıklandığında satır veya sütunun tamamı seçilir ve geçerli hücre satır veya sütundaki ilk hücreye ayarlanır.

veya FullColumnSelectolarak ayarlanırsa FullRowSelectSelectionMode, satır veya sütundaki herhangi bir hücreye tıklandığında tam satır veya sütun seçilir.

olarak ayarlanırsa MultiSelecttrue, Ctrl veya Shift tuşlarına basarken bir hücreye tıklandığında çok hücreli bir seçim değiştirilir.

Ctrl tuşuna basarken bir hücreye tıkladığınızda, diğer tüm hücreler geçerli seçim durumlarını korurken hücre seçim durumunu değiştirir.

Shift tuşuna basarken bir hücreyi veya bir hücre serisini tıklattığınızda, seçim geçerli hücre ile ilk tıklamadan önce geçerli hücrenin konumunda bulunan bir tutturucu hücre arasındaki tüm hücreleri içerir. İşaretçiyi birden çok hücreye tıklatıp sürüklediğinizde, tutturucu hücresi, sürükleme işleminin başında tıklanan hücredir. Shift tuşuna basıldığında sonraki tıklamalar geçerli hücreyi değiştirir, ancak tutturucu hücreyi değiştirmez. Denetimdeki diğer hücreler zaten seçiliyse seçili kalır, ancak fare gezintisi bunları geçici olarak tutturucu hücre ile geçerli hücre arasına yerleştirirse seçilmemiş olabilirler.

olarak ayarlanırsa ve veya olarak ayarlanırsa RowHeaderSelectMultiSelect, Shift tuşuna basıldığında bir satır veya sütun üst bilgisine (seçim moduna bağlı olarak) tıklandığında, böyle bir seçim varsa var olan tam satır veya sütun seçiminde değişiklik yapılır.ColumnHeaderSelectSelectionModetrue Aksi takdirde, seçimi temizler ve tam satır veya sütunlardan oluşan yeni bir seçim başlatır. Ancak, Ctrl tuşuna basarken bir satır veya sütun başlığına tıklanması, tıklanan satırı veya sütunu geçerli seçimi başka bir şekilde değiştirmeden geçerli seçime ekler veya kaldırır.

olarak ayarlanırsa ve veya olarak ayarlanırsa FullRowSelectMultiSelect, Shift veya Ctrl tuşlarına basarken bir hücreye tıklandığında, yalnızca tam satır ve sütunların etkilenmesi dışında aynı şekilde davranır.FullColumnSelectSelectionModetrue

Ayrıca bkz.