“颜色”对话框中的自定义颜色集应该使用以下代码设置为{blue,blue}:

colorDialog1.CustomColors = new int[] { System.Drawing.Color.Blue.ToArgb(), 0xFF0000 };
colorDialog1.ShowDialog();

但是,我得到了另一套{黑色,蓝色}:
你知道我在这里做错了什么吗?谢谢。

最佳答案

你需要使用OLE颜色。实现这一点的简单方法是使用内置的ColorTranslator对象,例如。

colorDialog1.CustomColors = new int[] {
                                        ColorTranslator.ToOle(Color.Blue),
                                        ColorTranslator.ToOle(Color.Red)
                                      };
colorDialog1.ShowDialog();

如果需要从HTML颜色转换,也可以使用ColorTranslator.FromHtml方法,例如
colorDialog1.CustomColors = new int[]
                                {
                                    ColorTranslator.ToOle(Color.Blue),
                                    ColorTranslator.ToOle(ColorTranslator.FromHtml("#FF0000"))
                                };

关于c# - 在ColorDialog中设置CustomColors,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11547166/

10-11 17:21