【发布时间】:2018-08-13 16:51:16
【问题描述】:
我通过
设置了richtextbox的第一行RichTextBox.text = "Comment:";
我希望这一行只读,并从第二行输入,并从第二行开始获取文本。
有什么建议吗?谢谢!
谢谢,我添加了一个MouseClick 事件来禁止第一行可编辑:
private void CommentTxtBox_MouseClick(object sender, MouseEventArgs e)
{
int index = _commentTxtBox.SelectionStart;
int line = _commentTxtBox.GetLineFromCharIndex(index);
if (line == 0)
{
_commentTxtBox.ReadOnly = true;
}
else
_commentTxtBox.ReadOnly = false;
}
【问题讨论】:
-
为什么不直接使用标签
Comment:,然后使用完全可编辑的富文本框? -
@Rafalon 实现起来难吗?
-
99% 的表单都是由一个标签和一个完全可编辑的控件组成的,所以我认为它很难实现。您很可能可以在互联网上找到大量示例
-
标签不会被选中或复制。嵌套时会覆盖 RTB 的文本;当不嵌套时,它不会被集成。保存时,您需要将其附加到文本中,包括格式。它不会被打印出来。 - 所以,有一些缺点,可能对你来说很重要,也可能无关紧要..
-
@TaW 每行开头保存同一个字符串的信息价值是什么?如果它存储在数据库中,那么只需使用名为
COMMENT的列就足够了,你不觉得吗?无论如何,我将其发布为评论正是因为它没有回答问题,而是询问它所问的是否是 OP 需要的,你是对的,这取决于它是否对 OP 重要:)
标签: c# winforms richtextbox