DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态
生活随笔
收集整理的這篇文章主要介紹了
DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文轉載:http://www.cnblogs.com/Johnny_Z/archive/2012/02/12/2348235.html
Winform中的DataGridView數據綁定控件有時會用到ComboBox列,想要顯示ComboBox列的內容需要點擊兩到三次才可以。這使操作變得很麻煩,降低了易用性,尤其是在程序部署在一些小型設備或者觸摸屏設備上時,則更為不便。下面介紹兩種方法解決這個問題。
首先,我們創建一個Windows應用程序,在窗體中拖拽一個DataGridView控件,命名為dataGridView。要確保該控件的“啟用編輯”選項勾選。下面我們動態創建列,以及添加一行數據。寫一個函數IniteDGV,在窗體Shown事件中調用函數。
private void IniteDGV(){DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();combo.HeaderText = "comboBox列";combo.Name = "combo";combo.Width = 80;combo.DataSource=(new string[] { "0", "1", "2" });DataGridViewTextBoxColumn textbox = new DataGridViewTextBoxColumn();textbox.HeaderText = "textbox列";textbox.Name = "textbox";textbox.Width = 100;dataGridView.Columns.AddRange(combo, textbox);DataGridViewRow row = new DataGridViewRow();dataGridView.Rows.Add(row);if (dataGridView.Columns.Contains("combo") ){row.Cells["combo"].Value = "0";}} View Code?
好了,以上基本工作做完了,下面說其中一個方法。
方法一:
在DataGridView控件的CellClick事件中添加如下代碼:
CellClick事件 private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e){if (e.RowIndex >= 0 && e.ColumnIndex >= 0){DataGridViewComboBoxColumn combo = dataGridView.Columns[e.ColumnIndex] as DataGridViewComboBoxColumn;if (combo != null) //如果該列是ComboBox列 {dataGridView.BeginEdit(false); //結束該列的編輯狀態DataGridViewComboBoxEditingControl comboEdite = dataGridView.EditingControl as DataGridViewComboBoxEditingControl;if (comboEdite != null){comboEdite.DroppedDown = true; //展現下拉列表 }}DataGridViewTextBoxColumn textbox = dataGridView.Columns[e.ColumnIndex] as DataGridViewTextBoxColumn;if (textbox != null) //如果該列是TextBox列 {dataGridView.BeginEdit(true); //開始編輯狀態 }}} View Code?
方法二:
在DataGridView的CellEnter事件中添加如下代碼:
CellEnter事件 private void dataGridView_CellEnter(object sender, DataGridViewCellEventArgs e){DataGridView dgv = sender as DataGridView;if (dgv != null){if (dgv.Columns[e.ColumnIndex].Name == "combo" &&dgv.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn){SendKeys.Send("{F4}"); //選中ComboBox列時,相當于按了鍵盤的F4鍵 }}} View Code?
總結
以上是生活随笔為你收集整理的DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Apache Tomcat 7设置re
- 下一篇: 你在用什么思想编码:事务脚本 OR 面向