c#颜色选择器和加载

本文关键字:加载 选择器 颜色 | 更新日期: 2023-09-27 18:04:06

我有一个颜色选择器来保存用户选择作为文本文件,然后在程序启动时加载颜色。问题是我使用。toknowncolor();这很好,但是在颜色选择器样本中有一些颜色是它不喜欢的——所以它可以用黑色/白色/黄色/红色/蓝色等等——基本的颜色,但是当它开始进入不同的颜色深浅时,它就不喜欢了。我认为这是因为它不是已知的颜色。我尝试了其他2个选项(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文件,然后在下次启动时再次加载它。工作完美的基本颜色,但不是与其他-我怎么能使它与所有的色板的工作-我不想使用自定义颜色选项…标准样板就行了:)

谢谢

c#颜色选择器和加载

应该使用ARGB函数。

写:

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

读取/解析:

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