如何从visual studio中的颜色对话框中获取十六进制颜色代码?

Tow*_*w10 4 c# color-picker visual-studio-2015

我在visual studio中有一个颜色对话框,我目前正在使用这个c#代码显示颜色对话框并将颜色设置为面板:

private void ColorButton_Click(object sender, EventArgs e)
{
    if (colorDialog1.ShowDialog() == DialogResult.OK)
    {
        ColorPanel.BackColor = colorDialog1.Color;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将标签设置为颜色选择器的十六进制颜色代码?

Dmi*_*nko 13

你可以试试这个

  1. 获取ARGB颜色的(Alpha,红色,绿色,蓝色)表示
  2. 过滤掉Alpha通道:& 0x00FFFFFF
  3. 将值格式化为十六进制("X6")

履行

  String code = (colorDialog1.Color.ToArgb() & 0x00FFFFFF).ToString("X6");
Run Code Online (Sandbox Code Playgroud)

编辑:如果你想Color 回来code,试试FromArgb:

  string code = "FFDDAA";

  Color color = Color.FromArgb(Convert.ToInt32(code, 16));
Run Code Online (Sandbox Code Playgroud)