Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I följande tabeller beskrivs hur användare kan interagera med DataGridView kontrollen via ett tangentbord och en mus.
Anmärkning
Om du vill anpassa tangentbordsbeteendet kan du hantera vanliga tangentbordshändelser som KeyDown. I redigeringsläge tar dock den värdbaserade redigeringskontrollen emot tangentbordsindata och tangentbordshändelserna inträffar inte för DataGridView kontrollen. Om du vill hantera redigeringskontrollhändelser kopplar du dina hanterare till redigeringskontrollen i en EditingControlShowing händelsehanterare. Du kan också anpassa tangentbordsbeteendet i en DataGridView underklass genom att åsidosätta ProcessDialogKey och ProcessDataGridViewKey metoderna.
Standardhantering av tangentbord
Grundläggande navigerings- och inmatningstangenter
| Tangent eller tangentkombination | Beskrivning | 
|---|---|
| Nedpil | Flyttar fokus till cellen direkt under den aktuella cellen. Om fokus ligger på den sista raden, gör ingenting. | 
| vänsterpil | Flyttar fokus till den föregående cellen på raden. Om fokus ligger i den första cellen på raden, gör ingenting. | 
| högerpil | Flyttar fokus till nästa cell på raden. Om fokus ligger i den sista cellen på raden, gör ingenting. | 
| Uppil | Flyttar fokus till cellen direkt ovanför den aktuella cellen. Om fokus ligger på den första raden, sker ingenting. | 
| Hem | Flyttar fokus till den första cellen i den aktuella raden. | 
| Slut | Flyttar fokus till den sista cellen i den aktuella raden. | 
| Sidan nedåt | Rullar kontrollen nedåt med antalet rader som visas helt. Flyttar fokus till den senast helt visade raden utan att ändra kolumner. | 
| Sida upp | Rullar kontrollen uppåt med antalet rader som visas helt. Flyttar fokus till den första raden som visas utan att ändra kolumner. | 
| fliken | Om egenskapsvärdet StandardTab är falseflyttar du fokus till nästa cell i den aktuella raden. Om fokus redan finns i den sista cellen på raden flyttar du fokus till den första cellen i nästa rad. Om fokus ligger i den sista cellen i kontrollen flyttar du fokus till nästa kontroll i tabbordningen för den överordnade containern.Om egenskapsvärdet StandardTab är true, flyttas fokus till nästa kontroll i tabbordningen för den överordnade containern. | 
| Skift + fliken | Om egenskapsvärdet StandardTab är falseflyttar du fokus till föregående cell i den aktuella raden. Om fokus redan finns i den första cellen på raden flyttar du fokus till den sista cellen i föregående rad. Om fokus ligger i den första cellen i kontrollen flyttar du fokus till den tidigare kontrollen i tabbordningen för den överordnade containern.Om egenskapsvärdet StandardTab är true, flytta fokus till den föregående kontrollen i flikordningen för den överordnade containern. | 
| Ctrl + Tabb | Om egenskapsvärdet StandardTab är false, flyttas fokus till nästa kontroll i tabbordningen för den överordnade containern.Om egenskapsvärdet StandardTab är trueflyttar du fokus till nästa cell i den aktuella raden. Om fokus redan finns i den sista cellen på raden flyttar du fokus till den första cellen i nästa rad. Om fokus ligger i den sista cellen i kontrollen flyttar du fokus till nästa kontroll i tabbordningen för den överordnade containern. | 
| Ctrl + Skift + Tabb | Om egenskapsvärdet StandardTab är false, flytta fokus till den föregående kontrollen i flikordningen för den överordnade containern.Om egenskapsvärdet StandardTab är trueflyttar du fokus till föregående cell i den aktuella raden. Om fokus redan finns i den första cellen på raden flyttar du fokus till den sista cellen i föregående rad. Om fokus ligger i den första cellen i kontrollen flyttar du fokus till den tidigare kontrollen i tabbordningen för den överordnade containern. | 
| Ctrl + pil | Flyttar fokus till den längsta cellen i pilens riktning. | 
| Ctrl + Hem | Flyttar fokus till den första cellen i kontrollen. | 
| Ctrl + Ände | Flyttar fokus till den sista cellen i kontrollen. | 
| Ctrl + Sidan nedåt/uppåt | Samma som Sidan nedåt eller Sidan uppåt. | 
| F2 | Placerar den aktuella cellen i cellredigeringsläge om egenskapsvärdet EditMode är EditOnF2 eller EditOnKeystrokeOrF2. | 
| F3 | Sorterar den aktuella kolumnen om egenskapsvärdet DataGridViewColumn.SortMode är Automatic. Det är samma sak som att klicka på den aktuella kolumnrubriken. Tillgänglig sedan .NET Framework 4.7.2. För att aktivera den här funktionen måste program rikta in sig på .NET Framework 4.7.2 eller senare versioner eller uttryckligen välja hjälpmedelsförbättringar med hjälp av AppContext-växlar. | 
| F4 | Om den aktuella cellen är en DataGridViewComboBoxCellplacerar du cellen i redigeringsläge och visar listrutan. | 
| Alt + Uppåt- eller nedåtpil | Om den aktuella cellen är en DataGridViewComboBoxCellplacerar du cellen i redigeringsläge och visar listrutan. | 
| Alt + Vänster-/högerpil | Ökar eller minskar bredden på den aktuella cellens kolumn. | 
| Rymd | Om den aktuella cellen är en DataGridViewButtonCell, DataGridViewLinkCell, eller DataGridViewCheckBoxCell, genererar CellClick och CellContentClick händelser. Om den aktuella cellen är en DataGridViewButtonCelltrycker du också på knappen. Om den aktuella cellen är en DataGridViewCheckBoxCelländras även kontrolltillståndet. | 
| Ange | Genomför eventuella ändringar i den aktuella cellen och raden och flyttar fokus till cellen direkt under den aktuella cellen. Om fokus ligger på den sista raden genomför du alla ändringar utan att flytta fokus. | 
| Esc | Om kontrollen är i redigeringsläge avbryter du redigeringen. Om kontrollen inte är i redigeringsläge återställs alla ändringar som har gjorts i den aktuella raden, om kontrollen är bunden till en datakälla som stöder redigering eller om virtuellt läge har implementerats med ett åtagande på radnivå. | 
| Tar bort tecknet före insättningspunkten när du redigerar en cell. | |
| Ta bort | Tar bort tecknet efter insättningspunkten när du redigerar en cell. | 
| Ctrl + Inträda | Genomför ändringar i den aktuella cellen utan att flytta fokus. Genomför även ändringar i den aktuella raden om kontrollen är bunden till en datakälla som stöder redigering eller virtuellt läge har implementerats med incheckningsomfång på radnivå. | 
| Ctrl + 0 | Anger ett DBNull.Value värde i den aktuella cellen om cellen kan redigeras. Som standard är visningsvärdet för ett DBNull cellvärde värdet av egenskapen NullValue som gäller för den aktuella DataGridViewCellStyle cellen. | 
Markeringsnycklar
Om egenskapen MultiSelect är inställd på false och egenskapen SelectionMode är inställd på CellSelect, ändras markeringen till den nya cellen när du ändrar den aktuella cellen med hjälp av navigeringstangenterna. 
              Skift-, Ctrl- och Alt-tangenterna påverkar inte det här beteendet.
Om SelectionMode är inställt på RowHeaderSelect eller ColumnHeaderSelect inträffar samma beteende, men med följande tillägg.
| Tangent eller tangentkombination | Beskrivning | 
|---|---|
| Skift + Blanksteg | Markerar den fullständiga raden eller kolumnen (samma som att klicka på rad- eller kolumnrubriken). | 
| navigeringsnyckel (piltangent, Sida upp/ned, Start, Slut) | Om en fullständig rad eller kolumn är markerad flyttas markeringen till den nya raden eller kolumnen om du ändrar den aktuella cellen till en ny rad eller kolumn (beroende på markeringsläget). | 
Om MultiSelect är inställt på false, och SelectionMode är inställt på FullRowSelect eller FullColumnSelect, och du ändrar den aktuella cellen till en ny rad eller kolumn med hjälp av tangentbordet, flyttas markeringen till den nya fullständiga raden eller kolumnen. 
              Skift-, Ctrl- och Alt-tangenterna påverkar inte det här beteendet.
Om MultiSelect är inställt på trueändras inte navigeringsbeteendet, men om du navigerar med tangentbordet när du trycker på Skift (inklusive Ctrl + Skift) ändras en markering med flera celler. Innan navigeringen börjar markerar kontrollen den aktuella cellen som en fästpunktscell. När du navigerar när du trycker på Skift innehåller markeringen alla celler mellan fästpunktscellen och den aktuella cellen. Andra celler i kontrollen förblir markerade om de redan har markerats, men de kan bli avmarkerade om tangentbordsnavigeringen tillfälligt placerar dem mellan fästpunktscellen och den aktuella cellen.
Om MultiSelect är inställt på true och SelectionMode är inställt på FullRowSelect eller FullColumnSelectär beteendet för fästpunktscellen och den aktuella cellen detsamma, men endast fullständiga rader eller kolumner markeras eller avmarkeras.
Standardhantering av mus
Grundläggande mushantering
Anmärkning
Om du klickar på en cell med vänster musknapp ändras alltid den aktuella cellen. Om du klickar på en cell med höger musknapp öppnas en snabbmeny när en är tillgänglig.
| Musåtgärd | Beskrivning | 
|---|---|
| Vänster musknapp nedåt | Gör den klickade cellen till den aktuella cellen och genererar DataGridView.CellMouseDown händelsen. | 
| Vänster musknapp uppåt | Genererar händelsen DataGridView.CellMouseUp | 
| Klicka på vänster musknapp | Startar DataGridView.CellClick-händelsen och DataGridView.CellMouseClick-händelsen | 
| Vänster musknapp nedåt och dra på en kolumnrubrikcell | Om egenskapen DataGridView.AllowUserToOrderColumns är true flyttas kolumnen så att den kan släppas till en ny position. | 
Val av mus
Inget markeringsbeteende är associerat med mellanmusknappen eller mushjulet.
Om egenskapen MultiSelect är inställd på false och egenskapen SelectionMode är inställd på CellSelectinträffar följande beteende.
| Musåtgärd | Beskrivning | 
|---|---|
| Klicka | Markerar endast den aktuella cellen om användaren klickar på en cell. Inget markeringsbeteende om användaren klickar på en rad- eller kolumnrubrik. | 
| Högerklicka | Visar en snabbmeny om en är tillgänglig. | 
Samma beteende inträffar när SelectionMode är inställt RowHeaderSelect på eller ColumnHeaderSelect, förutom att, beroende på markeringsläget, när du klickar på en rad eller kolumnrubrik väljer den fullständiga raden eller kolumnen och anger den aktuella cellen till den första cellen i raden eller kolumnen.
Om SelectionMode är inställt på FullRowSelect eller FullColumnSelectväljer du hela raden eller kolumnen genom att klicka på valfri cell i en rad eller kolumn.
Om MultiSelect är inställt truepå ändras en markering med flera celler om du klickar på en cell medan du trycker på Ctrl eller Skift .
När du klickar på en cell medan du trycker på Ctrl ändrar cellen markeringstillståndet medan alla andra celler behåller sitt aktuella markeringstillstånd.
När du klickar på en cell eller en serie celler när du trycker på Skift, innehåller markeringen alla celler mellan den aktuella cellen och en ankarcell som finns i den aktuella cellens position före det första klicket. När du klickar och drar pekaren över flera celler är fästpunktscellen cellen som klickades i början av dragåtgärden. Efterföljande klick när du trycker på Skift ändrar den aktuella cellen, men inte fästpunktscellen. Andra celler i kontrollen förblir markerade om de redan har markerats, men de kan bli avmarkerade om musnavigeringen tillfälligt placerar dem mellan fästpunktscellen och den aktuella cellen.
Om MultiSelect är inställt på true och SelectionMode är inställt RowHeaderSelect på eller ColumnHeaderSelectändrar du ett befintligt val av fullständiga rader eller kolumner om en sådan markering finns om du klickar på ett rad- eller kolumnhuvud (beroende på markeringsläget) när du trycker på Skift . Annars rensas markeringen och ett nytt urval av fullständiga rader eller kolumner startas. Om du klickar på en rad eller kolumnrubrik medan du trycker på Ctrl, läggs dock den klickade raden eller kolumnen bort från den aktuella markeringen utan att ändra den aktuella markeringen på något annat sätt.
Om MultiSelect är inställt på true och SelectionMode är inställt FullRowSelect på eller FullColumnSelectfungerar det på samma sätt att klicka på en cell medan du trycker på Skift eller Ctrl , förutom att endast fullständiga rader och kolumner påverkas.
Se även
.NET Desktop feedback