Výchozí chování klávesnice a myši pomocí ovládacího prvku DataGridView

Následující tabulky popisují, jak můžou uživatelé pracovat s DataGridView ovládacím prvku pomocí klávesnice a myši.

Poznámka:

Pokud chcete přizpůsobit chování klávesnice, můžete zpracovávat standardní události klávesnice, například KeyDown. V režimu úprav ale hostovaný ovládací prvek pro úpravy obdrží vstup klávesnice a události klávesnice se pro DataGridView ovládací prvek neprojeví. Pokud chcete zpracovat události ovládacích prvků pro úpravy, připojte obslužné rutiny k ovládacímu prvku pro úpravy v obslužné rutině EditingControlShowing události. Případně můžete přizpůsobit chování klávesnice v DataGridView podtřídě přepsáním ProcessDialogKey a ProcessDataGridViewKey metodami.

Výchozí zpracování klávesnice

Základní navigační a vstupní klíče

Kombinace kláves nebo kláves Popis
Šipka dolů Přesune fokus na buňku přímo pod aktuální buňkou. Pokud je fokus na posledním řádku, nic nedělá.
Šipka vlevo Přesune fokus na předchozí buňku v řádku. Pokud je fokus v první buňce v řádku, nic nedělá.
Šipka vpravo Přesune fokus na další buňku v řádku. Pokud je fokus v poslední buňce v řádku, nic nedělá.
Šipka nahoru Přesune fokus na buňku přímo nad aktuální buňkou. Pokud je fokus na prvním řádku, nic nedělá.
Domovská stránka Přesune fokus na první buňku v aktuálním řádku.
Ukončení Přesune fokus na poslední buňku v aktuálním řádku.
Page down Posune ovládací prvek směrem dolů o počet řádků, které jsou plně zobrazeny. Přesune fokus na poslední plně zobrazený řádek beze změny sloupců.
Page up Posune ovládací prvek nahoru o počet řádků, které jsou plně zobrazeny. Přesune fokus na první zobrazený řádek beze změny sloupců.
Kartě StandardTab Pokud je falsehodnota vlastnosti, přesune fokus na další buňku v aktuálním řádku. Pokud je fokus již v poslední buňce řádku, přesune fokus na první buňku v dalším řádku. Pokud je fokus v poslední buňce ovládacího prvku, přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

StandardTab Pokud je truehodnota vlastnosti , přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Shift + Tab StandardTab Pokud je falsehodnota vlastnosti, přesune fokus na předchozí buňku v aktuálním řádku. Pokud je fokus již v první buňce řádku, přesune fokus na poslední buňku v předchozím řádku. Pokud je fokus v první buňce ovládacího prvku, přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

StandardTab Pokud je truehodnota vlastnosti , přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Ctrl + Tab StandardTab Pokud je falsehodnota vlastnosti , přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

StandardTab Pokud je truehodnota vlastnosti, přesune fokus na další buňku v aktuálním řádku. Pokud je fokus již v poslední buňce řádku, přesune fokus na první buňku v dalším řádku. Pokud je fokus v poslední buňce ovládacího prvku, přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Ctrl + Shift + Tab StandardTab Pokud je falsehodnota vlastnosti , přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

StandardTab Pokud je truehodnota vlastnosti, přesune fokus na předchozí buňku v aktuálním řádku. Pokud je fokus již v první buňce řádku, přesune fokus na poslední buňku v předchozím řádku. Pokud je fokus v první buňce ovládacího prvku, přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Šipka ctrl + Přesune fokus na nejbližší buňku ve směru šipky.
Ctrl + Home Přesune fokus na první buňku v ovládacím prvku.
Ctrl + End Přesune fokus na poslední buňku v ovládacím prvku.
Ctrl + Page down/up Stejné jako Page down nebo Page up.
F2 Umístí aktuální buňku do režimu úprav buňky, pokud EditMode je EditOnF2 hodnota vlastnosti nebo EditOnKeystrokeOrF2.
F3 Seřadí aktuální sloupec, pokud DataGridViewColumn.SortMode je Automatichodnota vlastnosti . Je to stejné jako kliknutí na záhlaví aktuálního sloupce. K dispozici od rozhraní .NET Framework 4.7.2. Aby bylo možné tuto funkci povolit, musí aplikace cílit na rozhraní .NET Framework 4.7.2 nebo novější verze nebo explicitně vyjádřit výslovný souhlas s vylepšeními přístupnosti pomocí přepínačů AppContext.
F4 Pokud je aktuální buňka , DataGridViewComboBoxCellumístí buňku do režimu úprav a zobrazí rozevírací seznam.
Alt + Šipka nahoru/Šipka dolů Pokud je aktuální buňka , DataGridViewComboBoxCellumístí buňku do režimu úprav a zobrazí rozevírací seznam.
Alternativní + šipka doleva/doprava Zvětší nebo zmenší šířku sloupce aktuální buňky.
Space Pokud je aktuální buňka typu DataGridViewButtonCell, DataGridViewLinkCellnebo DataGridViewCheckBoxCell, vyvolá CellClick a CellContentClick události. Pokud je aktuální buňka , DataGridViewButtonCellstiskne tlačítko. Pokud je aktuální buňka , DataGridViewCheckBoxCellzmění se také stav kontroly.
Zadejte Potvrdí všechny změny aktuální buňky a řádku a přesune fokus na buňku přímo pod aktuální buňkou. Pokud je fokus na posledním řádku, potvrdí všechny změny bez přesunutí fokusu.
Esc Pokud je ovládací prvek v režimu úprav, zruší úpravy. Pokud ovládací prvek není v režimu úprav, vrátí všechny změny provedené na aktuálním řádku, pokud je ovládací prvek vázán na zdroj dat, který podporuje úpravy nebo virtuální režim, byl implementován s oborem potvrzení na úrovni řádků.
Backspace Odstraní znak před kurzorem při úpravě buňky.
Odstranění Odstraní znak za kurzorem při úpravě buňky.
Ctrl + Enter Potvrdí všechny změny aktuální buňky bez přesunutí fokusu. Potvrdí také všechny změny aktuálního řádku, pokud je ovládací prvek vázán na zdroj dat, který podporuje úpravy nebo virtuální režim, byl implementován s oborem potvrzení na úrovni řádků.
Ctrl + 0 DBNull.Value Pokud je možné buňku upravit, zadá hodnotu do aktuální buňky. Ve výchozím nastavení je zobrazovaná DBNull hodnota pro hodnotu buňky hodnota NullValue vlastnosti DataGridViewCellStyle platné pro aktuální buňku.

Výběrové klávesy

MultiSelect Pokud je vlastnost nastavena false a SelectionMode vlastnost je nastavena na CellSelect, změna aktuální buňky pomocí navigačních kláves změní výběr na novou buňku. Toto chování neovlivní klávesy Shift, Ctrl a Alt .

Pokud je nastavena RowHeaderSelect na SelectionMode hodnotu nebo ColumnHeaderSelect, dochází ke stejnému chování, ale s následujícími dodatky.

Kombinace kláves nebo kláves Popis
Mezerník shift + Vybere celý řádek nebo sloupec (totéž jako kliknutí na záhlaví řádku nebo sloupce).
navigační klávesa (šipka, Page up/down, Home, End) Pokud je vybrán celý řádek nebo sloupec, změna aktuální buňky na nový řádek nebo sloupec přesune výběr na celý nový řádek nebo sloupec (v závislosti na režimu výběru).

Pokud MultiSelect je nastavena na hodnotu a SelectionMode je nastavena false na FullRowSelect nebo FullColumnSelect, změna aktuální buňky na nový řádek nebo sloupec pomocí klávesnice přesune výběr na celý nový řádek nebo sloupec. Toto chování neovlivní klávesy Shift, Ctrl a Alt .

Pokud MultiSelect je nastavená hodnota true, chování navigace se nezmění, ale navigace pomocí klávesnice při stisknutí kláves Shift (včetně Ctrl + Shift) změní výběr více buněk. Před zahájením navigace označí ovládací prvek aktuální buňku jako ukotvenou buňku. Když stisknete klávesu Shift, bude výběr obsahovat všechny buňky mezi buňkou ukotvení a aktuální buňkou. Ostatní buňky v ovládacím prvku zůstanou vybrané, pokud už byly vybrané, ale pokud je navigace pomocí klávesnice dočasně umístí mezi buňku ukotvení a aktuální buňku, mohou být nevybrané.

Pokud MultiSelect je nastavená hodnota a SelectionMode je nastavena true na FullRowSelect nebo FullColumnSelect, chování ukotvené buňky a aktuální buňky je stejné, ale pouze úplné řádky nebo sloupce jsou vybrány nebo nevybrané.

Výchozí zpracování myši

Základní zpracování myši

Poznámka:

Kliknutím na buňku s levým tlačítkem myši se vždy změní aktuální buňka. Po kliknutí na buňku pravým tlačítkem myši se otevře místní nabídka, pokud je k dispozici.

Akce myši Popis
Levé tlačítko myši dolů Vytvoří kliknutím na buňku aktuální buňku DataGridView.CellMouseDown a vyvolá událost.
Levé tlačítko myši nahoru Vyvolá událost.DataGridView.CellMouseUp
Kliknutí levým tlačítkem myši Vyvolá události a DataGridView.CellMouseClick události.DataGridView.CellClick
Levé tlačítko myši dolů a přetažení na buňku záhlaví sloupce DataGridView.AllowUserToOrderColumns Pokud je truetato vlastnost , přesune sloupec tak, aby se mohl přesunout do nové pozice.

Výběr myši

K prostřednímu tlačítku myši nebo kolečku myši není přidruženo žádné chování výběru.

MultiSelect Pokud je vlastnost nastavena false a SelectionMode vlastnost je nastavena na CellSelect, dojde k následujícímu chování.

Akce myši Popis
Klikněte na Vybere pouze aktuální buňku, pokud uživatel klikne na buňku. Žádné chování výběru, pokud uživatel klikne na záhlaví řádku nebo sloupce.
Pravým tlačítkem myši klikněte na Zobrazí místní nabídku, pokud je k dispozici.

Stejné chování nastane, když SelectionMode je nastavena RowHeaderSelect nebo ColumnHeaderSelect, s tím rozdílem, že v závislosti na režimu výběru, kliknutí na záhlaví řádku nebo sloupce vybere celý řádek nebo sloupec a nastaví aktuální buňku na první buňku v řádku nebo sloupci.

Pokud SelectionMode je nastavená FullRowSelect hodnota nebo FullColumnSelect, kliknutím na libovolnou buňku v řádku nebo sloupci vyberete celý řádek nebo sloupec.

Pokud MultiSelect je nastavená možnost true, kliknutím na buňku při stisknutí kláves Ctrl nebo Shift změníte výběr více buněk.

Když při stisknutí klávesy Ctrl kliknete na buňku, změní se její stav výběru, zatímco všechny ostatní buňky zachovají svůj aktuální stav výběru.

Po kliknutí na buňku nebo řadu buněk při stisknutí klávesy Shift zahrnuje výběr všechny buňky mezi aktuální buňkou a ukotvenou buňkou umístěnou na pozici aktuální buňky před prvním kliknutím. Když kliknete a přetáhnete ukazatel myši přes více buněk, buňka ukotvení je buňka, na kterou jste klikli na začátek operace přetažení. Následná kliknutí při stisknutí klávesy Shift změní aktuální buňku, ale ne ukotvenou buňku. Ostatní buňky v ovládacím prvku zůstanou vybrané, pokud už byly vybrané, ale pokud je navigace myší dočasně umístí mezi buňku ukotvení a aktuální buňku, mohou být nevybrané.

Pokud MultiSelect je nastavená hodnota a SelectionMode je nastavena true na RowHeaderSelect nebo ColumnHeaderSelect, klikněte na záhlaví řádku nebo sloupce (v závislosti na režimu výběru) při stisknutí klávesy Shift upravíte existující výběr celých řádků nebo sloupců, pokud takový výběr existuje. V opačném případě výběr vymaže a spustí nový výběr celých řádků nebo sloupců. Kliknutím na záhlaví řádku nebo sloupce při stisknutí klávesy Ctrl ale přidáte nebo odeberete klikaný řádek nebo sloupec z aktuálního výběru, aniž byste jinak upravovali aktuální výběr.

Je-li MultiSelect nastavena a SelectionMode je nastavena true na FullRowSelect nebo FullColumnSelect, kliknutí na buňku při stisknutí kláves Shift nebo Ctrl se chová stejným způsobem, s výjimkou toho, že jsou ovlivněny pouze celé řádky a sloupce.

Viz také