Sdílet prostřednictvím


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ádáním pomocí klávesnice a myši.

Poznámka:

Chcete-li přizpůsobit chování klávesnice, můžete zpracovávat standardní události klávesnice, jako je KeyDown. V režimu úprav ale hostovaný ovládací prvek pro úpravy přijímá vstup klávesnice a události klávesnice se pro ovládací prvek DataGridView neprojevují. 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ě události EditingControlShowing. Případně můžete přizpůsobit chování klávesnice v podtřídě DataGridView přepsáním metod ProcessDialogKey a ProcessDataGridViewKey.

Výchozí zpracování klávesnice

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

Klávesa nebo kombinace 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 doleva 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á.
Domů Přesune fokus na první buňku v aktuálním řádku.
Konec Přesune fokus na poslední buňku v aktuálním řádku.
stránka dolů 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ů.
stránka nahoru Posune ovládací prvek nahoru o počet řádků, které jsou plně zobrazeny. Přesune fokus na první zobrazený řádek beze změny sloupců.
Tabulátor Pokud je hodnota vlastnosti StandardTabfalse, 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.

Pokud je hodnota vlastnosti StandardTabtrue, přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Směna + Tabulátor Pokud je hodnota vlastnosti StandardTabfalse, 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.

Pokud je hodnota vlastnosti StandardTabtrue, přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.
Ctrl + Tabulátor Pokud je hodnota vlastnosti StandardTabfalse, přesune fokus na další ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

Pokud je hodnota vlastnosti StandardTabtrue, 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 + Směna + Tabulátor Pokud je hodnota vlastnosti StandardTabfalse, přesune fokus na předchozí ovládací prvek v pořadí ovládacích prvků nadřazeného kontejneru.

Pokud je hodnota vlastnosti StandardTabtrue, 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.
Ctrl + šipka Přesune fokus na nejbližší buňku ve směru šipky.
Ctrl + Domů Přesune fokus na první buňku v ovládacím prvku.
Ctrl + Konec Přesune fokus na poslední buňku v ovládacím prvku.
Ctrl + Stránka dolů/nahoru Stejné jako Stránka dolů nebo Stránka nahoru.
F2 Umístí aktuální buňku do režimu úprav buňky, pokud je hodnota vlastnosti EditModeEditOnF2 nebo EditOnKeystrokeOrF2.
F3 Seřadí aktuální sloupec, pokud hodnota vlastnosti DataGridViewColumn.SortMode je Automatic. 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 DataGridViewComboBoxCell, umístí buňku do režimu úprav a zobrazí rozevírací seznam.
+ šipka nahoru nebo dolů Pokud je aktuální buňka DataGridViewComboBoxCell, umístí buňku do režimu úprav a zobrazí rozevírací seznam.
Alt + šipka doleva/doprava Zvětší nebo zmenší šířku sloupce, ve kterém se nachází aktuální buňka.
prostoru Pokud je aktuální buňka DataGridViewButtonCell, DataGridViewLinkCellnebo DataGridViewCheckBoxCell, vyvolá CellClick a CellContentClick události. Pokud je aktuální buňka DataGridViewButtonCell, také stiskněte tlačítko. Pokud je aktuální buňka označena jako DataGridViewCheckBoxCell, změní se také stav zaškrtnutí.
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ů.
Zpětný Odstraní znak před místem vložení při úpravě buňky.
Vymazat Odstraní znak za kurzorem při úpravě buňky.
Ctrl + Vstoupit Potvrdí všechny změny aktuální buňky bez přesunutí fokusu. Potvrdí také všechny změny v aktuálním řádku, pokud je ovládací prvek vázán na zdroj dat, který podporuje úpravy, nebo pokud byl virtuální režim implementován s potvrzením na úrovni řádků.
Ctrl + 0 Pokud je možné buňku upravit, zadá do aktuální buňky hodnotu DBNull.Value. Ve výchozím nastavení je zobrazenou hodnotou pro hodnotu buňky DBNull hodnota vlastnosti NullValue u DataGridViewCellStyle, která platí pro aktuální buňku.

Výběrové klávesy

Pokud je vlastnost MultiSelect nastavena na false a vlastnost SelectionMode 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, Ctrla klávesy Alt.

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

Klávesa nebo kombinace kláves Popis
Shift + mezerník 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 je MultiSelect nastavená na false a SelectionMode je nastavená 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, Ctrla klávesy Alt.

Pokud je MultiSelect nastavena na true, chování navigace se nezmění, ale navigace pomocí klávesnice při stisknutí Shift (včetně Ctrl + Shift) upraví 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ž navigujete se stisknutou klávesou Shift, výběr bude zahrnovat všechny buňky mezi kotvící buňkou a aktivní 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 je MultiSelect nastaven na true a SelectionMode nastaven na FullRowSelect nebo FullColumnSelect, chování ukotvené buňky a aktuální buňky je stejné, ale vybrány nebo nevybrány jsou pouze celé řádky nebo sloupce.

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ů Nastaví kliknutou buňku jako aktuální buňku a vyvolá událost DataGridView.CellMouseDown.
Levé tlačítko myši nahoru Vyvolá událost DataGridView.CellMouseUp
Kliknutí levým tlačítkem myši Vyvolá události DataGridView.CellClick a DataGridView.CellMouseClick.
Podržte levé tlačítko myši a táhněte buňku záhlaví sloupce Pokud je vlastnost DataGridView.AllowUserToOrderColumnstrue, přesune sloupec tak, že ho lze umístit na novou pozici.

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.

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

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

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

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

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

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

Když kliknete na buňku nebo řadu buněk a stisknete klávesu Shift, bude výběr obsahovat 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 je MultiSelect nastavená na true a SelectionMode je nastavená na RowHeaderSelect nebo ColumnHeaderSelect, kliknutím na záhlaví řádku nebo sloupce (v závislosti na režimu výběru) při stisknutí Shift upraví 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í Ctrlvšak 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.

Pokud je MultiSelect nastavena na true a SelectionMode je nastavená na FullRowSelect nebo FullColumnSelect, kliknutí na buňku při stisknutí Shift nebo Ctrl se chová stejně, s tím rozdílem, že jsou ovlivněny pouze celé řádky a sloupce.

Viz také