如何在app.config中指定顏色,然後在運行時將其轉換爲實際的System.Drawing.Color對象?如何在配置中指定顏色
3
A
回答
3
一種方法是將KnownColor值之一指定爲配置文本,然後使用Color.FromName創建Color對象。
2
Color
是一個古怪的;常規XML序列化工作不正常 - 因此你經常需要添加自己的代碼,可能通過TypeConverter
:
static void Main()
{
Test(Color.Red);
Test(Color.FromArgb(34,125,75));
}
static void Test(Color color)
{
TypeConverter converter = TypeDescriptor.GetConverter(typeof(Color));
string s = converter.ConvertToInvariantString(color);
Console.WriteLine("String: " + s);
Color c = (Color) converter.ConvertFromInvariantString(s);
Console.WriteLine("Color: " + c);
Console.WriteLine("Are equal: " + (c == color));
}
輸出:
String: Red
Color: Color [Red]
Are equal: True
String: 34, 125, 75
Color: Color [A=255, R=34, G=125, B=75]
Are equal: True
0
我寫this article關於ASP自定義配置部分。 NET ...但主體(和代碼)是相同的「app.config」(非網絡應用程序)。但是,如果這對你來說太過分了,那麼你可以像其他人提到的那樣轉換字符串。
2
你的配置是這樣的:
<add key="SomethingsColor" value="Black" />
,你可以將其轉換爲一種顏色:
Color myColor = Color.FromName(ConfigurationManager.AppSettings["KEY"]);
0
你可以只保存顏色爲int值,它可以被序列化,並添加一個使用toArgb和來自argb的color類型的屬性來轉換它。
例如
private ColorInt
public Color shapeColor
{
get {
return Color.FromArgb(ColorInt);
}
set
{
ColorInt = value.toargb()
}
}
2
看看ColorTranslator。您可以指定顏色,例如在appSettings中使用ColorTranslator將其轉換爲真實顏色。特別是我發現.FromHtml()方法非常有用。
相關問題
- 1. 如何在matplotlib.pyplot.trisurf中指定顏色
- 2. 如何用指定的顏色填充ccsprite中的顏色?
- 3. 指定不指定顏色
- 4. Behat配置:如何設置output_style選項而不指定fg和bg顏色
- 5. 配置顏色/背景顏色CSS
- 6. 如何在顏色狀態列表資源中指定背景顏色?
- 7. 如何爲awk printf列指定顏色?
- 8. 如何指定懸停顏色angular-chart.js
- 9. 如何使用VARIANT指定顏色
- 10. Imagick:無法指定或轉換顏色配置文件
- 11. 如何通過指向顏色名稱的指針設置顏色?
- 12. 用Xamarin在XAML中指定RGB顏色
- 13. 未定義的顏色配置文件
- 14. 如何設置位圖的指定顏色區域來透明?
- 15. 如何在配置文件中指定堆大小配置
- 16. 如何在SFML中將顏色設置爲alpha(移除顏色)?
- 17. 如何在UIImage中找到指定顏色的框架?
- 18. 如何在matlab中指定輪廓的顏色
- 19. 如何在ggplot2的scale_colour_gradientn中指定顏色編號
- 20. 如何指定可以在C#ColorDialog中挑選哪些顏色?
- 21. 如何在VBA中指定顏色主題
- 22. 如何在CSS中指定背景文本的矩形顏色
- 23. 如何在UIImage中獲取指定點的顏色?
- 24. 如何在R中繪製圖像時指定顏色
- 25. 如何在Delphi中將顏色減少到指定的數字?
- 26. 如何在nattable中配置字體顏色
- 27. 如何在空UITableViewCell中設置顏色?
- 28. 如何在Pymol中設置RGB顏色
- 29. 如何在android中設置rgb顏色?
- 30. 如何在UIPageViewController中設置backView顏色
對於ColorTranslator.FromHtml爲+1。 – Joe 2008-11-03 13:05:31