【问题标题】:Changing background color of the form with hexadecimal code使用十六进制代码更改表单的背景颜色
【发布时间】:2010-02-11 09:17:01
【问题描述】:

我有一个名为 ChangeFormBackground(Color colorName) 的方法,它使用 colorname 更改表单背景是方法的参数。现在,当我调用此方法时,我没有颜色名称,而是颜色的十六进制代码,我想使用该方法使用该十六进制代码更改表单的背景颜色,那么我该怎么办?

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:
    using System.Windows.Media;
    Color color = (Color)ColorConverter.ConvertFromString("#FFDFD991");
    

    (假设为 ARGB 值)

    Color color = System.Drawing.ColorTranslator.FromHtml("#FFCC66");
    

    【讨论】:

      【解决方案2】:

      这将始终有效,因为它不包含 alpha 颜色(BackColor 属性不支持):

      Color temp = Color.FromArgb(0xFF00FF);
      Color result = Color.FromArgb(temp.R, temp.G, temp.B);
      

      【讨论】:

      • Color.FromArgb(0xFF00FF); 使用哪个 alpha?
      【解决方案3】:

      您可以使用FromArgb 方法:

      Color.FromArgb(0x78FF0000);
      

      【讨论】:

      • 请注意 Form.BackColor 不支持 alpha / 透明度
      【解决方案4】:

      您可以使用ColorConverter Class 来处理颜色表示。

      【讨论】:

        猜你喜欢
        • 2016-04-02
        • 1970-01-01
        • 2022-01-04
        • 2021-07-19
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 2010-10-12
        • 1970-01-01
        相关资源
        最近更新 更多