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);
}
相关文章
- [linux]重拾linux
- 《HelloGitHub月刊》第 01 期
- [git]通过commit_id找回文件
- [git]修改commit
- [git]使用GPG签名你的commit
- [git]本地查看,重命名,拉取,删除远程分支
- [git]解决:git config --global push.default matching
- [git]git add 增加文件,文件名乱码
- [linux]删除目录下的一类文件
- [git]用pelican搞一个自己的blog(已完成)
- [git]解决rebase冲突
- Goodbye 2020,Welcome 2021 | 沉淀 2021
- Goodbye 2019,Welcome 2020 | 沉淀 2020
- VSTS 执行git pull报错问题修复
- 软件分享 | 第四期 Linux远程连接神器获取和安装
- PHP网页简单编写
- c++使用icu国际化(i18n)
- go-cqhttp(电脑机器人搭建)教程
- Linux|安装nginx改造升级版(Tengine)
- Linux用户管理命令