我尝试将包含十六进制代码的字符串转换为颜色。 我有以下代码:
CQ currCQ = new CQ();
string color_startBorderMC = null;
color_startBorderMC = currCQ._color_MCBorder; //returns string! e.g. #ff00ff
Color _startBorderMC_color = new Color();
_startBorderMC_color = ColorConverter.ConvertFromString(color_startBorderMC); //error
如果我写一个获取Color String的方法,我仍会得到同样的错误:
非静态字段,方法或属性需要对象引用System.ComponentModel.TypeConverter.ConvertFromString(string)'
获取颜色字符串的方法是:
internal string getMCBorderColor()
{
return this._color_MCBorder;
}
My Object CQ具有以下定义:
public class CQ
{
public string _color_mostcriticallBorder {set; get; };
}
如何解决此错误?
答案 0 :(得分:3)
您需要创建ColorConverter
类的实例才能访问方法ConvertFromString
CQ currCQ = new CQ();
string color_startBorderMC = null;
color_startBorderMC = currCQ._color_MCBorder; //returns string! e.g. #ff00ff
Color _startBorderMC_color = new Color();
ColorConverter converter = new ColorConverter();//create an instance of ColorConverter.
_startBorderMC_color = converter.ConvertFromString(color_startBorderMC);
有关更多信息,请参阅this msdn文档。