Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将RichTextBox中的文本滚动到特定的相位?_C#_.net_Wpf - Fatal编程技术网

C# 如何将RichTextBox中的文本滚动到特定的相位?

C# 如何将RichTextBox中的文本滚动到特定的相位?,c#,.net,wpf,C#,.net,Wpf,我有一个RichTextBox,它可以保存文本,在加载文本后,我希望滚动条显示我日常使用的特定短语 示例:我想滚动到“再次感谢你,朋友!”这是在我的文字结尾,如果我不知道它在那里,我会一直向下滚动 我想知道在.net中是否有一种方法可以在不滚动的情况下实现这一点 首先,您需要找到该短语的索引: var index = richTextBox.Text.IndexOf("my phrase"); 然后需要将SelectionStart设置为该索引: richTextBox.SelectionSt

我有一个RichTextBox,它可以保存文本,在加载文本后,我希望滚动条显示我日常使用的特定短语

示例:我想滚动到“再次感谢你,朋友!”这是在我的文字结尾,如果我不知道它在那里,我会一直向下滚动


我想知道在.net中是否有一种方法可以在不滚动的情况下实现这一点

首先,您需要找到该短语的索引:

var index = richTextBox.Text.IndexOf("my phrase");
然后需要将
SelectionStart
设置为该索引:

richTextBox.SelectionStart = index;
因此,现在文本框位于正确的位置,现在您可以执行以下操作:

richTextBox.ScrollToCaret();
试试这个:

        rtb_Log.Text = "This text is not so special.";
        string findstring = "special.";
        rtb_Log.Select(rtb_Log.Find(findstring, RichTextBoxFinds.MatchCase), 0);
        rtb_Log.Focus();

对.net 4.0 winforms控件有效。

rtb_Log.Focus()可能需要,以防任何其他控件捕获焦点,而不是没有此类属性。WPF中RichTextBox控件的文本Orry不知道您的问题涉及WPF。请将问题中的标记winforms更改为WPF。