流阅读器如何在其中获取颜色
本文关键字:在其中 获取 颜色 | 更新日期: 2023-09-27 18:30:36
如何在此代码中将teile[4]
转换为Color
?
public void Save(StreamWriter sw)
{
for (int i = 0; i < liste.Count; i++)
{
Buch b = (Buch)liste[i];
if (i == 0)
sw.WriteLine("ISDN ; Autor ; Titel ; Farbe");
sw.WriteLine(b.ISDN + ";" + b.Autor + ";" + b.Titel + ";" + b.Farbe);
}
}
public void Load(StreamReader sr)
{
int isdnn;
string autorr;
string titell;
Color col;
sr.ReadLine();
string line;
while((line = sr.ReadLine()) != null)
{
if (line.Length > 0)
{
string[] teile = line.Split(';');
try
{
isdnn = Convert.ToInt32(teile[0]);
autorr = teile[1];
titell = teile[2];
string color = teile[3];
col = Color.FromName(color);
}
catch
{
throw new Exception("Nicht geklappt");
}
Buch buch = new Buch(isdnn, autorr, titell, col);
liste.Add(buch);
}
}
}
如果我加载一些东西,它总是白色的
您可以使用
Color.FromName
.
string color = teile[4];
Color col = Color.FromName(color);
您可以使用此问题中的一些答案: XmlSerializer 和 System.Drawing.Color 的最佳解决方案
他们使用的是 XmlSerializer,但想法是相同的 将System.Drawing.Color
转换为System.String
和从转换。
在这种情况下我会怎么做:
//Change your line to this
sw.WriteLine(b.ISDN + ";" + b.Autor + ";" + b.Titel + ";" + System.Drawing.ColorTranslator.ToHtml(b.Farbe));
//And change this line
col = System.Drawing.ColorTranslator.FromHtml(color);