2010-08-10 2 views
24

Меня раздражает щелчок одним щелчком мыши, чтобы выбрать строку в datagridview, а затем снова щелкнуть мышью по элементу управления в этой строке (в данном случае это поле со списком).Прямой доступ к combobox DataGridView за один клик?

Есть ли способ настроить эту вещь, чтобы все это можно было сделать одним щелчком мыши вместо двух?

+0

Вы можете проверить (http://stackoverflow.com/questions/34543940/datagridviewcomboboxcolumn-doesnt-open-the-dropdown-on-first [это решение.] -click/39757746 # 39757746) – TaW

ответ

46

Измените свойство EditMode вашего элемента управления DataGridView на «EditOnEnter». Это затронет все столбцы.

+0

Попробуем, спасибо. –

+0

Работает так, как я надеялся. Спасибо Стюарту! –

+0

Еще лучшее решение опубликовано на форумах Microsoft. Он помещает курсор вправо в середине текста точно так же, как я хотел: http://social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/fe5d5cfb-63b6-4a69-a01c-b7bbd18ae84a – HK1

2

Если вы хотите, чтобы выборочно применить один щелчок редактирования определенных столбцов, вы можете переключить текущую ячейку во время события MouseDown устранить щелчок для редактирования:

// Subscribe to DataGridView.MouseDown when convenient 
this.dataGridView.MouseDown += this.HandleDataGridViewMouseDown; 

private void HandleDataGridViewMouseDown(object sender, MouseEventArgs e) 
{ 
    // See where the click is occurring 
    DataGridView.HitTestInfo info = this.dataGridView.HitTest(e.X, e.Y); 

    if (info.Type == DataGridViewHitTestType.Cell) 
    { 
     switch (info.ColumnIndex) 
     { 
      // Add and remove case statements as necessary depending on 
      // which columns have ComboBoxes in them. 

      case 1: // Column index 1 
      case 2: // Column index 2 
       this.dataGridView.CurrentCell = 
        this.dataGridView.Rows[info.RowIndex].Cells[info.ColumnIndex]; 
       break; 
      default: 
       break; 
     } 
    } 
} 

Конечно, если ваши колонки и их индексы динамичны, вам нужно немного изменить это.

+0

Sooo многие datagridviews, чтобы изменить прямо сейчас, если я сталкиваюсь с случаем, где я должен это сделать, я проверю ваше решение! –

0

я смог активировать выпадающий и выпадающий его с помощью одного щелчка мыши, установив Editmode свойство DataGridView в EditOnEnter и создание EditingControlShowing событий и добавил код, чтобы упасть вниз в поле со списком в этом случае ,

Для более подробной информации, пожалуйста, проверьте - http://newapputil.blogspot.in/2015/08/add-combo-box-in-cell-of-datagridview.html

Смежные вопросы