2009-09-04 16 views
8

Pracuję na kliencie WinForm z formantem DataGridView. Zauważam, że użytkownicy muszą kliknąć raz, aby wybrać komórkę i ponownie ją edytować. W jaki sposób można to zmienić w trybie edycji jednym kliknięciem? Myślałem, że widziałem coś takiego wcześniej, ale nie pamiętam imienia.DataGridView - "Styl wyboru komórki" - Edytuj komórkę

Odpowiedz

6

Dobrze zauważyłem problem z EditMode.EditOnEnter
napina dużo domyślne zachowanie DataGriView, co jest irytujące. Edytowana komórka pozostaje między innymi w trybie edycji, nawet gdy metoda EndEdit jest jawnie wywoływana (trzeba nacisnąć inną kontrolkę, aby komórka datagridview straciła ostrość).

Poniższy fragment kodu działa całkiem dobrze jak to sprawia, że ​​można edytować poprzez pojedyncze kliknięcie na dowolną komórkę, a kończąc edycję wciskając enter lub kliknij poza DGView (tak jak byś zrobił na zachowanie domyślne)

Proszę bardzo:

private void myDatagridView_MouseUp(object sender, MouseEventArgs e) 
    { 
     if (e.Button == MouseButtons.Left) 
     { 
      hitTestInfo = myDatagridView.HitTest(e.X, e.Y); 
      if (hitTestInfo.Type == DataGridViewHitTestType.Cell) 
       myDatagridView.BeginEdit(true); 
      else 
       myDatagridView.EndEdit(); 
     } 
    } 
15

We właściwościach DataGridView: EditMode -> EditOnEnter

Powiązane problemy