ColorDialog 颜色对话框
有时需要让用户自定义窗体或控件的颜色。
下面完成一个功能:点击按钮弹出颜色选择对话框,选择颜色后,将窗体的背景颜色改为用户选取的颜色。
ColorDialog 是一个对话框控件,默认不显示也不可见,需要在代码中调用 ShowDialog() 方法才会弹出。
对于这类没有可视界面的组件,WinForm 会在设计器底部显示。

代码实现
private void button5_Click(object sender, EventArgs e)
{
this.colorDialog1.ShowDialog();
this.BackColor = this.colorDialog1.Color;
}Code language: JavaScript (javascript)
点击按钮后弹出颜色选择对话框,用户选择颜色并确认后,窗体背景色随之改变。
增加判断(推荐写法)
使用 ShowDialog() 的返回值判断用户是否点击了”确定”:
private void button5_Click(object sender, EventArgs e)
{
if (this.colorDialog1.ShowDialog() == DialogResult.OK)
{
this.BackColor = this.colorDialog1.Color;
}
}Code language: JavaScript (javascript)
常用属性
| 属性 | 说明 |
|---|---|
Color | 获取或设置当前选定的颜色 |
AllowFullOpen | 是否允许自定义颜色(默认 true) |
AnyColor | 是否显示所有可用颜色 |
FullOpen | 是否默认展开自定义颜色区域 |
SolidColorOnly | 是否限制只能选择纯色 |
常用方法
| 方法 | 说明 |
|---|---|
ShowDialog() | 显示颜色对话框,返回 DialogResult |
Reset() | 重置为默认颜色 |


Previous: 选择框列表 CheckedListBox 控件
Next: 下拉框 ComboBox 控件