设置颜色dialog.custom颜色等于形式背景颜色

时间:2009-08-16 19:07:09

标签: vb.net winforms

我正在尝试将colordialog的一个自定义颜色设置为表单的当前背景颜色。我是这样做的:

ColorDialog1.CustomColors(0) = Form1.BackColor.ToArgb

它不起作用。请帮忙! vb.net代码请

请注意,我只需要一个特定元素来包含颜色。不一定是0,但可能是9或15

1 个答案:

答案 0 :(得分:2)

CustomColors ColorDialog属性的getter返回自定义颜色数组的克隆,因此在您的问题中执行的操作将修改数组的副本,而不是使用的数据副本通过对话框。

要设置一个自定义颜色,请获取CustomColors属性的值并将其指定给变量。通过更改此变量中的项目来更改颜色。完成后,将此变量的值设置回CustomColors属性。

正如chrissr所说(以及MSDN文档),默认值为null,因此您可能需要分配一个新数组。我在Visual Studio中尝试过它,而CustomColors确实包含一个完全填充的白色数组。