当用户选择一个项目时,我正在为列表框(winforms 2.0)使用所有者绘制变量样式我想在该单元格中绘制一个编辑控件这是否可行不是下拉菜单,而是一个实际的编辑控件出现在单元格或项目中谢谢
1 回答
我正在为 ListView 使用一些类似的东西。方法是:
创建 TextBox,添加到 Controls 数组,然后隐藏一个。
innerTextBox.Size = new Size(0, 0);
innerTextBox.Location = new Point(0, 0);
this.Controls.AddRange(new Control[] { this.innerTextBox });
innerTextBox.KeyPress += new KeyPressEventHandler(this.EditOver);
innerTextBox.LostFocus += new EventHandler(this.FocusOver);
innerTextBox.Hide();
innerTextBox.Text = "";
在 DoubleClick 事件上绑定自己的方法,在该方法中找到选定的项目并获取 TextBox 的值
this.DoubleClick += new EventHandler(this.EditableDoubleClick);
私人无效EditableDoubleClick(对象发件人,System.EventArgs e){
selectedItemText = selectedItem.ToString();
innerTextBox.Size = new Size(subItemRect.right - subItemRect.left, subItemRect.bottom - subItemRect.top);
innerTextBox.Location = new Point(subItemRect.left, subItemRect.top);
innerTextBox.Show();
innerTextBox.Text = selectedItemText;
}
在 TextBox 中失去焦点 - 将值设置回所选项目。
selectedItem = innerTextBox.Text;