Tag: colordialog

C# – 跨表单使用ColorDialog

我有一个Windows窗体应用程序。 在主窗体上,用户将输入一些项目等,然后单击一个按钮,该按钮将打开一个新窗体(小窗体或大窗体,具体取决于复选框)。 现在,在我的主应用程序中,我有一个文件菜单 – 在其下设置 – 更改背景颜色。 这打开了colordialog。 如果用户没有选择任何内容,则背景颜色将保持默认。 但是,如果他们在主条目表单上更改它,我会更改几个文本框的背景 – 下面的代码。 private void warning1ToolStripMenuItem_Click(object sender, EventArgs e) { colorDialog1.ShowDialog(); Warn1Color = colorDialog1.Color.ToString(); if (Warn1Color != null) { tbWarn1Hrs.BackColor = colorDialog1.Color; tbWarn1Mins.BackColor = colorDialog1.Color; tbWarn1Secs.BackColor = colorDialog1.Color; tbWarn1Msg.BackColor = colorDialog1.Color; } } 现在我的问题是我如何得到它然后更改打开的其他窗体中的背景。 我希望我可以在新表单构造函数中传递字符串,就像我使用其他一些值一样。 ie – 这是我在新表单中的代码….(注意 – 字符串Warn1Color在构造函数中传递,然后使= =字符串_Warn1Color。如果它为null,则背景将默认为黄色,但它无法将类型字符串转换为system.drawing.color。有没有人看到一个简单的解决方案,或者我可以做些什么来轻松地工作。 if (_Warn1Color == null) { […]

在ColorDialog中设置CustomColors

颜色对话框中的自定义颜色集应使用以下代码设置为{Blue,Blue}: colorDialog1.CustomColors = new int[] { System.Drawing.Color.Blue.ToArgb(), 0xFF0000 }; colorDialog1.ShowDialog(); 但是,我得到了另一套{Black,Blue}: 不知道我在这里做错了什么? 谢谢。