【发布时间】:2009-08-16 19:07:09
【问题描述】:
我正在尝试将 colordialog 的自定义颜色之一设置为表单的当前背景颜色。我是这样做的:
ColorDialog1.CustomColors(0) = Form1.BackColor.ToArgb
它不工作。请帮忙!请vb.net代码
请注意,我只需要一个特定的元素来包含颜色。不一定是 0,但可能是 9 或 15
【问题讨论】:
我正在尝试将 colordialog 的自定义颜色之一设置为表单的当前背景颜色。我是这样做的:
ColorDialog1.CustomColors(0) = Form1.BackColor.ToArgb
它不工作。请帮忙!请vb.net代码
请注意,我只需要一个特定的元素来包含颜色。不一定是 0,但可能是 9 或 15
【问题讨论】:
ColorDialog 的 CustomColors 属性的 getter 返回自定义颜色数组的克隆,因此您在问题中的操作将修改数组的副本,而不是对话框使用的副本。
要仅设置一种自定义颜色,请获取 CustomColors 属性的值并将其分配给变量。通过更改此变量中的项目来更改颜色。完成后,将此变量的值设置回CustomColors 属性。
正如 chrissr 所说(以及 MSDN 文档),其默认值为 null,因此您可能必须分配一个新数组。不过我在 Visual Studio 中尝试过,CustomColors 确实包含一个完全填充的白色数组。
【讨论】: