【问题标题】:Is any way to change control's background color without `BackColor` property?有什么方法可以在没有“BackColor”属性的情况下更改控件的背景颜色?
【发布时间】:2020-02-19 19:09:17
【问题描述】:

控件有一些属性,需要使用System.Drawing.dll,即:

control.Size =  new System.Drawing.Size(10, 20);

但是,无需其他解决方法(不需要System.Drawing)即可实现该目标,即:

control.Width = 10;
control.Height= 20;

我的问题是,我们可以通过一些类似的解决方法来更改控件的背景颜色(.BackColor,这需要System.Drawing)吗? (所以,不需要System.Drawing)?

【问题讨论】:

  • 使用 System.Drawing 有什么问题?要回答这个问题,不,因为没有设置背景颜色的其他属性,并且该属性的类型是 System.Drawing.Color
  • @DStanley 请发表您的评论作为答案,请不要在第一个问题部分。我已经厌倦了why you need.. kind 的 contr-questions。有道理。谢谢,我会接受答案。
  • 如果“否”是您正在寻找的答案,我会这样做 - 我更好奇您对 System.Drawing 的反感是什么,因为这是显而易见的解决方案。或者我可以提供一个不直接使用System.Drawing 的替代语法(例如using 指令)。

标签: c# controls


【解决方案1】:

否 - 对 System.Drawing 的依赖是针对 Color 值本身的,并且没有快捷属性来设置组件值,例如,您可以像使用 Size 一样设置组件值。

如果您不想包含 System.Drawing 内联,只需添加 using 指令:

using System.Drawing;

...

    control.BackColor = Color.Blue;  // Color will be found in System.Drawing via the "using"

【讨论】:

  • 不应该以任何方式引用 System.Drawing.dll :)) 这才是重点,而不是如何引用它。
  • System.Drawing.dllSystem.Windows.Forms.dllSystem.Web.dll 的依赖项,因此它已被间接引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
相关资源
最近更新 更多