从 DataGridView 单元格中访问 RichTextBox 控件属性



我正在尝试创建一个列类型为 RichTextBox 控件的 DataGridView。我这样做的原因是能够做一些事情,例如仅更改单个单元格中部分文本的字体颜色。

使用此处的代码 数据网格视图中的富文本框单元格

我可以创建一个继承自RichTextBox的DataGridColumn,或者我认为是这样。我现在遇到的问题是我如何访问 DataGridViewCell 的 RichTextBox 控件属性/方法来执行诸如 selectionstart selectionlength 等操作。

接下来的代码太有助于说明我的意思了。

DataGridViewRichTextBoxColumn richTextColumn = new DataGridViewRichTextBoxColumn();
this.dataGridView1.Columns.Add(richTextColumn);
this.dataGridView1.Rows.Add("five six seven eight");
//now i want to access the RichTextBox control for the row i just added

当然,如果我完全错了,知道这一点也很好。

如果当前单元格处于编辑模式,则可以使用 DataGridView.EditControl 访问当前单元格承载的控件。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.editcontrol(v=vs.110).aspx

除非将 RichTextColumn 的任何单元格置于编辑模式,否则不需要 RichTextBoxControl,因此 DataGridView 将不会承载该控件,并且您将无法访问该控件。

最新更新