日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DataGridView的DataGridViewComboBoxColumn列点击一次

發(fā)布時(shí)間:2024/6/14 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataGridView的DataGridViewComboBoxColumn列点击一次 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DataGridView的DataGridViewComboBoxColumn列點(diǎn)擊一次

Winform中的DataGridView數(shù)據(jù)綁定控件有時(shí)會(huì)用到ComboBox列,想要顯示ComboBox列的內(nèi)容需要點(diǎn)擊兩到三次才可以。這使操作變得很麻煩,降低了易用性,尤其是在程序部署在一些小型設(shè)備或者觸摸屏設(shè)備上時(shí),則更為不便。下面介紹兩種方法解決這個(gè)問(wèn)題。

首先,我們創(chuàng)建一個(gè)Windows應(yīng)用程序,在窗體中拖拽一個(gè)DataGridView控件,命名為dataGridView。要確保該控件的“啟用編輯”選項(xiàng)勾選。下面我們動(dòng)態(tài)創(chuàng)建列,以及添加一行數(shù)據(jù)。寫(xiě)一個(gè)函數(shù)IniteDGV,在窗體Shown事件中調(diào)用函數(shù)。

代碼段 1 private void IniteDGV()
2 {
3 DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
4 combo.HeaderText = "comboBox列";
5 combo.Name = "combo";
6 combo.Width = 80;
7 combo.DataSource=(new string[] { "0", "1", "2" });
8
9 DataGridViewTextBoxColumn textbox = new DataGridViewTextBoxColumn();
10 textbox.HeaderText = "textbox列";
11 textbox.Name = "textbox";
12 textbox.Width = 100;
13
14 dataGridView.Columns.AddRange(combo, textbox);
15 DataGridViewRow row = new DataGridViewRow();
16 dataGridView.Rows.Add(row);
17
18
19
20 if (dataGridView.Columns.Contains("combo") )
21 {
22 row.Cells["combo"].Value = "0";
23 }
24
25 }

?

好了,以上基本工作做完了,下面說(shuō)其中一個(gè)方法。

方法一:

在DataGridView控件的CellClick事件中添加如下代碼:

CellClick事件 1 private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
2 {
3 if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
4 {
5 DataGridViewComboBoxColumn combo = dataGridView.Columns[e.ColumnIndex] as DataGridViewComboBoxColumn;
6 if (combo != null) //如果該列是ComboBox列
7 {
8 dataGridView.BeginEdit(false); //結(jié)束該列的編輯狀態(tài)
9 DataGridViewComboBoxEditingControl comboEdite = dataGridView.EditingControl as DataGridViewComboBoxEditingControl;
10 if (comboEdite != null)
11 {
12 comboEdite.DroppedDown = true; //展現(xiàn)下拉列表
13 }
14 }
15
16
17 DataGridViewTextBoxColumn textbox = dataGridView.Columns[e.ColumnIndex] as DataGridViewTextBoxColumn;
18 if (textbox != null) //如果該列是TextBox列
19 {
20 dataGridView.BeginEdit(true); //開(kāi)始編輯狀態(tài)
21 }
22 }
23 }

?

方法二:

在DataGridView的CellEnter事件中添加如下代碼:

CellEnter事件 1 private void dataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
2 {
3 DataGridView dgv = sender as DataGridView;
4
5 if (dgv != null)
6 {
7 if (dgv.Columns[e.ColumnIndex].Name == "combo" &&
8 dgv.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn)
9 {
10 SendKeys.Send("{F4}"); //選中ComboBox列時(shí),相當(dāng)于按了鍵盤(pán)的F4鍵
11 }
12 }
13 }

?

posted on 2012-02-12 19:43 Johnny_Z 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/Johnny_Z/archive/2012/02/12/2348235.html

總結(jié)

以上是生活随笔為你收集整理的DataGridView的DataGridViewComboBoxColumn列点击一次的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。