【发布时间】:2012-02-03 12:38:27
【问题描述】:
我有一个 RichTextBox 作为输出,TextBox 作为 WinForms 主窗体上的输入。我希望能够在用鼠标突出显示输出中的文本时将注意力集中在 TextBox 上。例如,这将允许我在输入中键入一些内容,同时用鼠标在输出中选择一些内容。
我在一个不一定基于 WinForms 的应用程序中看到了这一点,但它确实在 Windows 机器上运行。
如何使用 WinForms 做到这一点?
【问题讨论】:
我有一个 RichTextBox 作为输出,TextBox 作为 WinForms 主窗体上的输入。我希望能够在用鼠标突出显示输出中的文本时将注意力集中在 TextBox 上。例如,这将允许我在输入中键入一些内容,同时用鼠标在输出中选择一些内容。
我在一个不一定基于 WinForms 的应用程序中看到了这一点,但它确实在 Windows 机器上运行。
如何使用 WinForms 做到这一点?
【问题讨论】:
你可以尝试一下
bool selecting;
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
selecting = true;
}
private void richTextBox1_MouseUp(object sender, MouseEventArgs e)
{
if (selecting)
textBox1.Focus();
selecting = false;
}
这会在您完成从 RichTextBox 中的选择后立即重置 TextBox 上的焦点。然而问题是,一旦焦点恢复,选择就会被清除。
【讨论】: