【问题标题】:How to select and get color in asp.net如何在asp.net中选择和获取颜色
【发布时间】:2017-04-03 03:40:49
【问题描述】:

由于asp.net中没有颜色的集成属性(至少我没有找到它),我想知道你们是如何选择颜色的?

假设我想使用位图创建一个绘图,并且我想从使用应用程序选择它的用户那里获取背景颜色。

我已经完成了一些代码,但是事情不起作用,因为我手动输入了 #000 或 #fff 之类的颜色(使用文本框)

app.aspx

<label>
<span>Background color</span>
<asp:TextBox ID="inp_bgColor" Width="125px" runat="server"></asp:TextBox>
</label><span style="color:red"><asp:Literal ID="error_bg" runat="server"></asp:Literal></span><br /><br /> 

app.aspx.cs

Color txtClr = Color.FromName(inp_bgColor.Text);

我注意到 System.Drawing.Color 是 ARGB 颜色类型,我该怎么做呢?

谢谢!

【问题讨论】:

    标签: c# asp.net colors system.drawing


    【解决方案1】:

    你可以像这样使用十六进制颜色:

    string hex = "#FF3FF3";
    Color _color = System.Drawing.ColorTranslator.FromHtml(hex);
    

    【讨论】:

    • 给我和错误“非静态字段方法或属性'TypeConverter'.ConvertFromString(string)'需要对象引用
    • 运行调试器,我现在得到想要的值。这意味着它可能有效。所以代码隐藏是“完成”。
    • 前端怎么样,我如何让用户从颜色选择器或其他东西中选择颜色,这样他就不需要写十六进制值了?
    【解决方案2】:

    Color.FromName 方法从 KnownColor 枚举中获取颜色(请参阅know color table
    尝试使用 Color.FromARGB 方法见here 对于简单的用户颜色选择,您可以使用如下颜色对话框:

    // Show the color dialog.
    ColorDialog colorDialog1=new ColorDialog();
    DialogResult result = colorDialog1.ShowDialog();
    // See if user pressed ok.
    Color selectedColor;
    if (result == DialogResult.OK)
    {
        selectedColor = colorDialog1.Color;
    }
    

    【讨论】:

    • 运行调试器,我现在得到想要的值。这意味着它可能有效。所以代码隐藏是“完成”的。那么前端呢,我如何让用户从颜色选择器或某事中选择颜色,这样他就不需要写十六进制值了?
    • 谢谢哥们,但已经可以使用 abdul 的帖子了。希望这对其他人有所帮助:) 再次感谢!
    【解决方案3】:

    您可以使用.Attributes.CssStyle["color"] 获取颜色,但您的元素必须具有 CSS 样式属性,例如颜色集。

     inp_bgColor.Attributes.CssStyle["color"]
    

    你可以用这种方式转换

    Color _color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
    

    【讨论】:

      猜你喜欢
      • 2014-01-23
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多