更改禁用控件的TextColor

禁用控件时如何更改文本的颜色。我想在c#winforms中禁用控件时设置不同的颜色。

编辑:我在评论中犯了与Cody相同的错误,所以纠正了我的回答。

这取决于它是什么控制。

例如,如果它是TextBox ,您可以将其ReadOnly而不是禁用。 对于其他一些控件,您可以执行类似操作,使其显示为禁用状态而不实际禁用。

但是,如果要正确执行此操作,则需要将它们设置为Owner-draw或覆盖OnPaint事件并自行绘制文本。

您可以手动执行 – 当您禁用控件时,只需更改文本颜色?

如果您有许多控件,则可以执行以下操作:

  • 附上表单OnChildAdded事件
  • 在这种情况下,使用if …是类型结构来确定控件类型
  • 根据控件类型,注册适当的OnEnabledChange事件
  • 在这种情况下,适当地改变文本颜色

这样,您将拥有一段适用于所有表单的代码,并将逐步扩展以使用您需要的所有控件。

我会提供一些代码,如果这是你想要的方式……