首页 新闻 会员 周边

在richtextbox中,如何知道它的text内容从开始位置到光标的位置的长度

0
[待解决问题]

在richtextbox中,用鼠标在其中的文本内容中某处单击一下出现光标,有什么办法知道它的text内容从开始位置到光标的位置的长度。

fishall的主页 fishall | 菜鸟二级 | 园豆:300
提问于:2010-12-14 10:54
< >
分享
所有回答(3)
0

自己找所有属性,然后看吧,记得以前做记事本的时候,找过这个(楼主是不是也在做记事本的时候想在下面的状态栏里面显示当前几行几列?),当时是找到了,现在现找给你找不到,只记得一个可以基本上直接获取,另一个要麻烦一点,需计算。。。

顾晓北 | 园豆:10844 (专家六级) | 2010-12-14 10:59
是的,本人正在做个编辑器
支持(0) 反对(0) fishall | 园豆:300 (菜鸟二级) | 2010-12-14 11:43
以前做的那个可能丢了,自己找吧。。。
支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2010-12-14 11:58
0

这个是textarea的,你参考下吧   

  <SCRIPT>
                function   storeCaret(textEl)   {
                        if   (textEl.createTextRange)
                                textEl.caretPos   =   document.selection.createRange().duplicate();
                }
                function   insertAtCaret(textEl,   text)   {
                        if   (textEl.createTextRange   &&   textEl.caretPos)   {
                                var   caretPos   =   textEl.caretPos;
                                caretPos.text   =   caretPos.text.charAt(caretPos.text.length   -   1)   ==   '   '   ?text   +   '   '   :   text     +   caretPos.text   +   text;
                        }
                        else
                                textEl.value   =   text;

                }
        </SCRIPT>

茂茂 | 园豆:2892 (老鸟四级) | 2010-12-14 15:52
0

   具体实现如下:

   RichTextBox my=new RichTextBox();

   TextRange m=new TextRange(my.Document.ContentStart,my.CaretPosition);
   int len= m.Text.Length;  //文本长度

绿茶叶 | 园豆:203 (菜鸟二级) | 2010-12-15 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册