0

我的项目中有一个文本框,用户可以为我的应用程序输入一种简单类型的脚本语法。我试图弄清楚是否可以使文本框中的某个单词可单击,因此当我的用户单击它时,它将弹出一个 openfiledialog,然后用文件选择的路径替换该单词。

我的第一个方法是搜索文本框并获取单词的 xy 坐标,然后在光标位于该单词上方并且单击文本框时更改光标。虽然我不认为这会起作用,因为 x/y 值会改变,它不会帮助我替换正确的单词。

这个词可以在文本框中多次出现......如果可以使用标准文本框,那么任何关于我如何实现这一点的指导都将不胜感激。

4

2 回答 2

0

参考这个链接

如果您希望与代码隐藏交互,您可以轻松创建一个 javascript 链接,单击该链接将触发一个函数或带有命令参数的回发。

于 2012-12-21T00:46:15.197 回答
0

如果不为您编写整个课程,我可能会从GetCharIndexFromPosition开始。有了这个,您可以指定文本框的左上角和右下角,以查找文本框中第一个和最后一个可见字符的索引。

从那里你只需要解析出这些边界之间感兴趣的关键字(应该很快,因为你只需要搜索可见的字符)。然后我将指定一组Rects,这次使用绑定关键字的GetPositionFromCharIndex。您甚至可以使用 GDI 来绘制它们以进行调试。您可能可以在OnPaint或其他一些适当的处理程序中执行所有这些操作(只要文本框的输出发生更改)。

然后,在MouseMove处理程序中,您只需根据边界Rects 检查鼠标位置以识别是否处于活动区域(设置光标图标等),并了解该状态OnClick以执行您想要的任何操作。

于 2012-12-20T23:38:00.437 回答