【问题标题】:C# RichTextBox text block selectionC# RichTextBox 文本块选择
【发布时间】:2010-11-10 10:40:18
【问题描述】:

有没有人扩展 .NET RichBextBox 控件以通过“块选择”来选择文本?如果是这样,愿意分享您的代码吗?

【问题讨论】:

  • 在您的情况下澄清“块选择”可能会得到更好的答案。
  • 好的。目前,当您使用鼠标选择文本时,它会逐行选择文本。使用块模式,您可以按列选择文本...就像从控件中选择“矩形”文本一样。
  • 但是 RichTextBox 可以在整个文本文件中使用不同大小的不同字体。如果在第 1 行选择第 3-10 列,那么在第 2 行应该选择什么?第 3-10 列?还是与第 1 行的第 3-10 列的 X、Y、宽度对齐的列?如果半个字符在那个边界内怎么办?会被选中吗?这在 RichTextBox 控件中不是一个简单的问题。
  • scwagner,点了。我从字符=列的角度考虑更多。就我而言,我在整个文档中使用具有相同字体大小的固定间距字体。当然,如果你在某些地方改变字体大小,当你选择文本时它看起来不会像一个完美的矩形,但在我的场景中永远不会是这样。
  • 您好 Lenard,我在搜索相同功能时发现了您的帖子。你找到解决办法了吗?谢谢,鲍勃

标签: c# selection richtextbox


【解决方案1】:

据我所知,唯一的方法是使用 API 中的 SendMessage,使用 EM_CHARFROMPOS

您必须进行一些矩形边界搜索/跟踪和试验才能找到有效的解决方案,但这只是基础。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2011-04-10
    • 2012-02-13
    • 1970-01-01
    相关资源
    最近更新 更多