c#colorpicker和加载

时间:2015-07-21 21:06:55

标签: c# colors picker

我有一个颜色选择器将用户选择保存为文本文件,然后在程序启动时加载颜色。问题是我正在使用.toknowncolor();这很好,但是颜色选择样品中有一些它不喜欢的颜色 - 所以它会很好用黑色/白色/黄色/红色/蓝色/等 - 基本颜色,但是当它开始运行时对于不同色调的颜色,它并不喜欢它。我假设这是因为它不是一个已知的颜色。我已经尝试了其他两个选项(toargb()+ tostring()),但我无法让它们工作。这就是我所拥有的;

//In my linklabel
private void TextCol_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            ColorDialog TextColour = new ColorDialog();
            TextColour.AllowFullOpen = false;
            TextColour.ShowHelp = true;
            if (TextColour.ShowDialog() == DialogResult.OK)
            {
                #region Labels
                label1.ForeColor = TextColour.Color;
              if (Customise == true)
                {
                    File.WriteAllText("C:/BMW/Colours/TextCol.txt", TextColour.Color.ToKnownColor() + "");
                }
            }
        }

//At the top
public Form1()
    {
        InitializeComponent();
        InvoiceSavePath.Text = File.ReadAllText("C:/BMW/Invoice Save Path.txt");
        string[] TextCol = File.ReadAllLines("C:/BMW/Colours/TextCol.txt");
        label1.ForeColor = Color.FromName(TextCol[0]);
    }

因此,用户使用linklabel更改颜色,将其写入txt文件,然后在下次启动时再次加载。与基本颜色完美配合,但不与其他颜色配合使用 - 如何使其与所有色板颜色一起使用 - 我不想使用自定义颜色选项...标准样品将执行:)

由于

1 个答案:

答案 0 :(得分:1)

您应该使用ARGB功能。

写:

File.WriteAllText("C:/BMW/Colours/TextCol.txt", TextColour.Color.ToArgb().ToString());

阅读/解析:

label1.ForeColor = Color.FromArgb(Int.Parse(TextCol[0]));