我的应用程序中有一个RichTextBox,它开始被禁用(灰色)并在文件打开后变为启用(白色)。这一直很好。
但是,当我将ShowSelectionMargin属性设置为True(这对此应用程序将是一个非常有用的更改)时,它会将背景永久变为灰色。我认为这可能是DotNet中的一个错误(我相信目前在.NET 4.5下运行),但可能有一个解决方法吗?
(可能与Why does my control extending RichTextBox defaults to gray background?有关。)
哦,我刚刚想出了一个解决方法,但我会继续发布这个(并回答它),以防其他人来看(或者有更好的解决方案)。
答案 0 :(得分:0)
好吧,我认为这里的问题可能与它实际上是启用/禁用的包含控件(嵌入了RichTextBox)这一事实有关。 (我继承了这段代码,有时无法跟踪所有部分)
无论如何,在这种情况下的解决方法是非常清楚地切换。这是成功打开文件时运行的代码的一部分:
_sfmEditorView.Enabled = false; // had to add this line
_sfmEditorView.Enabled = true;
答案 1 :(得分:0)
这是另一种解决方法(我刚刚在How to change the background color of a rich text box when it is disabled?找到)并不完全是启用/禁用(因为选择/复制仍然可用),但在我的情况下它可能会更方便:
richTextBox.ReadOnly = true;