获取字符文本更改

本文关键字:文本 字符 获取 | 更新日期: 2023-09-27 18:24:00

如何获取RichEditControl中位置之前的字符例如,A在插入符号之前,返回字符串应该是

在文本更改中,我需要获得插入符号的位置

获取字符文本更改

您可以使用RichEditControl1.Document.CaretPosition属性来获取当前位置,然后只使用string.Substring(0, position.ToInt())来获取插入符号当前位置之前的字符串。

检查下面的代码片段:

private void simpleButton1_Click(object sender, EventArgs e)
{
    DevExpress.XtraRichEdit.API.Native.DocumentPosition position = richEditControl1.Document.CaretPosition;
    if (richEditControl1.Document.Text.Length > 0)
    {
        //Returns all previous text befor the caret
        XtraMessageBox.Show(richEditControl1.Document.Text.Substring(0, position.ToInt()));
        int intPosition = position.ToInt();
        if (intPosition > 0 && intPosition < richEditControl1.Document.Length)
        {
            //It will return previous character
            XtraMessageBox.Show(richEditControl1.Document.Text.Substring(intPosition - 1, 1));
        }
    }
}

参考文献:
如何获取RepositoryItemRichEdit插入符号位置
如何在编辑器中获取/设置插入符号的位置?

希望得到帮助。