Winform DataGridViewTextBoxCell 编辑添加右键菜单,编辑选中文本
Posted SpringSun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform DataGridViewTextBoxCell 编辑添加右键菜单,编辑选中文本相关的知识,希望对你有一定的参考价值。
如上是我们使用DataGridView时,编辑单元格右键会出现系统菜单。现在我们添加自己的右键菜单,并可以操作选中文字。
DataGridViewTextBoxCell:
DataGridViewTextBoxCell 类是一种专用类型 DataGridViewCell ,用于显示基于文本的单个可编辑信息字符串。 当前选定的 DataGridViewTextBoxCell 控件承载一个 DataGridViewTextBoxEditingControl 控件,用户可以编辑单元格的值, (假定 ReadOnly 属性 DataGridViewTextBoxCell 设置为 false) 。
基于以上文档对DataGridViewTextBoxCell的介绍我们知道DataGridViewTextBoxCell在编辑的时候实际是承载了一个DataGridViewTextBoxEditingControl控件。那么我们可以从DataGridViewTextBoxEditingControl控件下手。
DataGridViewTextBoxEditingControl:
DataGridViewTextBoxEditingControl 是实现 接口的专用类型的 TextBox 控件 IDataGridViewEditingControl ,允许在单元格处于编辑模式时将其托管在 DataGridViewTextBoxCell 中。
处理 事件以 EditingControlShowing 在单元格进入编辑模式时执行编辑控件的自定义初始化。 若要自定义控件的显示特征,请设置 属性返回 DataGridViewEditingControlShowingEventArgs.CellStyle 的 对象的属性,而不是设置 属性返回的控件的属性 DataGridViewEditingControlShowingEventArgs.Control 。
如上描述我在EditingControlShowing
事件中找到了添加右键的思路。
private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
e.Control.ContextMenuStrip = contextMSEdit;
右键功能:
private void 我选择的文字ToolStripMenuItem_Click(object sender, EventArgs e)
var editingControl = contextMSEdit.SourceControl as DataGridViewTextBoxEditingControl;
var selectText = editingControl.SelectedText;
MessageBox.Show(selectText);
作者:SunSpring
出处:https://www.cnblogs.com/SunSpring/p/17048671.html
本文版权归作者所有,欢迎转载,但未经作者同意需在文章页面明显位置给出原文链接。
以上是关于Winform DataGridViewTextBoxCell 编辑添加右键菜单,编辑选中文本的主要内容,如果未能解决你的问题,请参考以下文章