【问题标题】:Find the x, y point of a string within a text box在文本框中查找字符串的 x、y 点
【发布时间】:2010-03-19 16:10:50
【问题描述】:

有没有办法为文本框中的字符串返回一个点?我找到了一个 COM 函数GetTextExtentPoint,它会返回一个字符串的长度,但我想知道字符串的起始点。

【问题讨论】:

  • 这是本机函数,不是 COM 函数。 (两者不一样)
  • @lcono123 这很有趣,我只想知道为什么,以及答案。

标签: c# .net winforms textbox


【解决方案1】:

您正在寻找GetPositionFromCharIndex 方法。

【讨论】:

    【解决方案2】:

    首先,找出字符串第一个字符的索引。

    int index = textBox1.Text.IndexOf(someString);
    

    然后使用 GetPositionFromCharIndex。

    Point stringPos = textBox1.GetPositionFromCharIndex(index);
    

    (代码未经测试,但这样的东西应该可以工作。当然,您必须处理文本框中重复出现字符串的可能性。)

    【讨论】:

      【解决方案3】:

      我想到的是拍摄表单和文本的快照,然后进行一些精美的图像比较以找到起点。但是为此,您需要编写/下载具有这些比较方法的库。 . 因此变得非常复杂...

      为什么需要这样做?

      【讨论】:

      • 嗯,我有自己的用户控件,我正在扩展文本框,我想向它添加额外的功能。如果我有一个字符串的点,我可以向它添加一些自定义图形。
      猜你喜欢
      • 2019-09-25
      • 2020-09-01
      • 2018-09-06
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      相关资源
      最近更新 更多