【问题标题】:Adding text between sentence in RTB在 RTB 中的句子之间添加文本
【发布时间】:2013-11-25 13:14:50
【问题描述】:

我的代码:

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Control && e.KeyCode == Keys.Q)
        {
            richTextBox1.Text = richTextBox1.Text + "this is a text";
        }
    }

我的问题是每当我按 CTRL + Q 时,文本将添加到句子的末尾,而不是 IBeam 所在的位置。我希望将它添加到 IBeam 所在的位置。我不知道如何将文本添加到 IBeam 所在的位置。希望大家理解。

提前致谢!

【问题讨论】:

    标签: c# text richtextbox


    【解决方案1】:

    那是因为您实际上是在附加文本。这种行为是意料之中的。然而,如果你插入文本,你会得到你想要的:

    richTextBox1.Text = richTextBox1.Text.Insert(
        richTextBox1.SelectionStart,
        "this is a text");
    

    注意SelectionStart 的文档,它指出:

    如果控件中没有选择文本,则此属性指示新文本的插入点或插入符号。

    【讨论】:

    • 非常感谢,迈克尔!
    • @Hafiz,没问题。很高兴能为您提供帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    相关资源
    最近更新 更多