C# listview添加combobox到單元格的實現(xiàn)代碼
更新時間:2014年06月18日 14:50:07 投稿:mdxy-dxy
從別處轉(zhuǎn)來的,自己進行了一些小的修改,還不錯,你自己先拖一個ListView1和一個ComboBox1,需要的朋友可以參考下
實現(xiàn)代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
ListViewItem lvi;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Visible = false;
listView1.Columns.Add("第一列");
listView1.Columns.Add("第二列");
listView1.Columns.Add("第三列");
this.comboBox1.Items.Add("科比");
this.comboBox1.Items.Add("姚明");
this.comboBox1.Items.Add("杜蘭特");
this.comboBox1.Items.Add("鄧肯");
ListViewItem item;
item = new ListViewItem(1.ToString());
item.SubItems.Add("姚明");
item.SubItems.Add("科比");
listView1.Items.Add(item);
item = new ListViewItem(2.ToString());
item.SubItems.Add("鄧肯");
item.SubItems.Add("杜蘭特");
listView1.Items.Add(item);
}
private void listView1_MouseUp(object sender, MouseEventArgs e)
{
lvi = this.listView1.GetItemAt(e.X, e.Y);
if (lvi != null)
{
//獲取選中行的Bounds
Rectangle Rect = lvi.Bounds;
int LX = listView1.Columns[0].Width;
int RX = listView1.Columns[0].Width + listView1.Columns[1].Width;
// if (e.X > RX || e.X < LX)
//{
this.comboBox1.Visible = false;
Rect.X = listView1.Left + listView1.Columns[0].Width + 2;
Rect.Y = this.listView1.Top + 2+Rect.Y;
Rect.Width = listView1.Columns[1].Width + 2;
this.comboBox1.Bounds = Rect;
this.comboBox1.Text = lvi.SubItems[1].Text;
this.comboBox1.Visible = true;
this.comboBox1.BringToFront();
this.comboBox1.Focus();
//}
// int intColIndex = lvi.SubItems.IndexOf(lvi.GetSubItemAt(e.X, e.Y));
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
lvi.SubItems[1].Text = comboBox1.Text;
// comboBox1.Visible = false;
}
private void comboBox1_MouseLeave(object sender, EventArgs e)
{
lvi.SubItems[1].Text = comboBox1.Text;
// comboBox1.Visible = false;
}
}
}
您可能感興趣的文章:
- C# ComboBox控件“設(shè)置 DataSource 屬性后無法修改項集合”的完美解決方法
- C#實現(xiàn)帶搜索功能的ComboBox
- C# 重寫ComboBox實現(xiàn)下拉任意組件的方法
- C# ComboBox的聯(lián)動操作(三層架構(gòu))
- C#實現(xiàn)ComboBox控件顯示出多個數(shù)據(jù)源屬性的方法
- C#實現(xiàn)綁定Combobox的方法
- C#用ComboBox控件實現(xiàn)省與市的聯(lián)動效果的方法
- C#(WinForm) ComboBox和ListBox添加項及設(shè)置默認選擇項
- c#構(gòu)造ColorComboBox(顏色下拉框)
- C#實現(xiàn)ComboBox自動匹配字符
- C#中comboBox實現(xiàn)三級聯(lián)動
相關(guān)文章
C#使用IronPython庫調(diào)用Python腳本
這篇文章介紹了C#使用IronPython庫調(diào)用Python腳本的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
Js中的substring,substr與C#中的Substring比較
本篇文章主要是對Js中的substring,substr與C#中的Substring進行了比較。需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01

