默认的 ListView 控件没有动态编辑功能,通常的做法是生成一个 Edit 或 ComboBox 控件覆盖在指定的位置。
C# 封装的控件在实现这一功能却不那么直接了。
参考了 codeproject 和其他网页的代码,勉强写了一个,但始终有些问题。
判断覆盖的区域问题较多,实现的主要代码为
private void CLVMouseDown(object sender, MouseEventArgs e)
{
this.lvi = this.GetItemAt(e.X , e.Y);
this.pt = new Point(e.X, e.Y);
}
private void CLVDoubleClick(object sender, System.EventArgs e)
{
// Check the subitem clicked .
int nStart = this.pt.X ;
int spos = 0 ;
int e