2016-11-19 49 views
0

由於在asp.net中沒有顏色的集成屬性(至少我沒有找到它),我想知道,你們如何選擇顏色?如何在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顏色的類型,SO 3 H我該怎麼做?

謝謝!

回答

1

您可以使用十六進制顏色是這樣的:

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

給我和對象引用需要非靜態字段方法或屬性‘TypeConverter'.ConvertFromString(串)’ – aiden87

+0

」錯誤更新!這是工作對我來說.. – abdul

+0

運行調試器,我現在得到所需的值。這意味着它可能工作。所以codebehind是「完成」。 – aiden87

1

的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; 
} 
+0

運行調試器,我現在得到所需的值。這意味着它可能有效。因此,代碼隱藏是「完成」。前端怎麼樣,我如何讓用戶從顏色選擇器或選擇顏色,以便他不需要寫在十六進制值? – aiden87

+0

請注意我的編輯使用顏色對話框 –

+0

感謝好友,但已經與abdul的帖子合作。希望這有助於任何其他壽:)再次感謝! – aiden87

0

可以使用.Attributes.CssStyle["color"]獲得色彩,但你的元素必須有CS像色彩設置的風格屬性。

inp_bgColor.Attributes.CssStyle["color"] 

你也可以用這種方式來轉換

Color _color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF"); 
相關問題