如何选择all并在多个RichTextBox控件中保持选择的视觉效果?
首先,重现问题的简单说明:
你会注意到当你失去对第一个RichTextBox的关注时,看起来没有选择任何内容,如下所示>
我想做的是,当你在一个盒子中选择所有内容时,我想在其他盒子中选择所有内容,并保持所选文本的视觉效果,除非用户点击其他地方取消全部选择(例如,点击表格应取消所做的任何选择),如下所示:
默认行为是选择显示任何控件具有焦点。
来源证明问题如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load( object sender, EventArgs e ) {
richTextBox1.Text = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu dui in tellus cursus luctus. Integer rutrum lorem nec quam faucibus ullamcorper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam ante tellus, rutrum eu consectetur non, mattis non orci. Proin dignissim odio in faucibus vulputate. Maecenas ac efficitur dui. Cras eu quam mattis, tempor neque vitae, sollicitudin urna. Nullam et ipsum a orci finibus efficitur et sed felis. Aenean nulla justo, tempor nec ligula vitae, interdum mollis dui. In purus ipsum, cursus in arcu sed, tincidunt molestie arcu. Cras suscipit felis ac auctor vehicula. Etiam dapibus convallis sapien. Integer lorem metus, consequat at urna sed, venenatis imperdiet est. Nam eleifend ac dui sit amet feugiat. Nam ut nibh nec dui molestie hendrerit.";
richTextBox2.Text=richTextBox1.Text;
}
}
}
答案 0 :(得分:0)
稍微调整一下后,发现了HideSelection
属性,并通过添加以下行来调整上面的代码,这些行解决了" select all"部分问题:
richTextBox1.HideSelection = false;
richTextBox2.HideSelection = false;
richTextBox1.SelectAll();
richTextBox2.SelectAll();
仍然可以使用一只手来解决问题的反面部分,当我在其中一个框内单击时,选择会从所有选项中更改,另一个框仍保持选中状态,如此处所示>