在CSS中,我们可以使用::selection
伪标签编辑文本选择的颜色。是否有可能仅为一个控件覆盖选择的默认背景颜色,例如,一个RichTextBox?我知道,没有办法通过类似CSS的方式来改变默认行为,但至少覆盖它可能是可能的。RichTextBox中选定文本的颜色
我已经搜索了大约一个小时,但我只找到语法高亮片段。我希望文本是例如黄色代替典型的Windows蓝色。
编辑
如在此琴:http://jsfiddle.net/W99Gt/
在CSS中,我们可以使用::selection
伪标签编辑文本选择的颜色。是否有可能仅为一个控件覆盖选择的默认背景颜色,例如,一个RichTextBox?我知道,没有办法通过类似CSS的方式来改变默认行为,但至少覆盖它可能是可能的。RichTextBox中选定文本的颜色
我已经搜索了大约一个小时,但我只找到语法高亮片段。我希望文本是例如黄色代替典型的Windows蓝色。
编辑
如在此琴:http://jsfiddle.net/W99Gt/
在WPF中,你可以做到这一点,如下所示:
myRichTextBox.SelectionBrush = System.Windows.Media.Brushes.Yellow; // WPF
myRichTextBox.IsInactiveSelectionHighlightEnabled = true;
不幸的是,所期望的行为在Windows窗体中不可能(细节here)。解决方法是通过ElementHost在Windows窗体中使用WPF RichTextBox。
参考文献:
TextBoxBase.SelectionBrush Property(WPF)
TextBoxBase.IsInactiveSelectionHighlightEnabled Property(WPF)
编辑:
删除了的WinForms解决方案,因为SelectionBackColor
不提供所需的行为。
你使用的是WPF还是WinForms? – wdosanjos
我目前正在使用WinForms,因为将UI集成到我的项目中速度更快。但我认为,WPF – michaeln