簡體   English   中英

C#將對象轉換為System.Drawing.Color

[英]C# Casting object to System.Drawing.Color

我正在嘗試將從注冊表項讀取的顏色設置轉換為System.Drawing.Color。 根據本文,我正在將從注冊表返回的對象轉換為System.Drawing.Color將OBJECT轉換為System.Drawing.Color

System.Drawing.Color color = (System.Drawing.Color)result;

以下是我作為對象獲取的這些注冊表值的幾個示例:

Type     Data
REG_SZ   Color [Olive]
REG_SZ   Color [A=255, R=255, G=128, B=128]

將第一個注冊表項強制轉換為System.Drawing.Color可以正常工作,但是在強制轉換第二個注冊表項時,出現“指定的轉換無效”錯誤。 能夠將這兩個鍵都轉換為System.Drawing.Color的最佳方法是什么?

編輯:我認為解決此問題的最簡單方法是在寫入注冊表時,將Color轉換為ARGB(int32),這樣當我閱讀它時,我就可以使用Color.FromArgb (除非有另一種解決方案,完全丟失)。

從注冊表中獲取的內容可能是字符串,因此請按照此頁面的建議使用ColorConverter類

這是一個示例代碼:

Color regColor = (Color)ColorConverter.ConvertFromString((string)result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM