gpt4 book ai didi

C# - 跨表单使用 ColorDialog

转载 作者:行者123 更新时间:2023-11-30 18:03:32 24 4
gpt4 key购买 nike

我有一个 Windows 窗体应用程序。在主窗体上,用户将输入一些项目等,然后单击将打开一个新窗体的按钮(小窗体或大窗体取决于复选框)。现在在我的主应用程序上,我有一个文件菜单 - 在其下是设置 - 更改背景颜色。这将打开颜色对话框。如果用户没有选择任何东西,背景颜色将保持默认。但是,如果他们在主条目表单上更改它,我会更改一些文本框的背景 - 下面的代码。

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;
}
}

现在我的问题是如何获取它然后更改打开的其他表单中的背景。我希望我可以像处理许多其他值一样在新的表单构造函数中传递字符串。

即 - 这是我的新形式的代码....(注意 - 字符串 Warn1Color 在构造函数中传递,然后 = 为字符串 _Warn1Color。如果它为空,则背景将默认为黄色,但无法转换在 system.drawing.color 中输入字符串。有没有人看到一个简单的解决方案或者我可以做些什么来让它轻松工作。

if (_Warn1Color == null)
{
this.BackColor = System.Drawing.Color.Yellow;
}
else
this.BackColor = _Warn1Color;

最佳答案

通过构造函数而不是字符串传递颜色。如果出于某种原因这不可能,您可以创建一个 ColorConfigClass 来保存所需的 Color 并且您可以在使用时设置它。

关于C# - 跨表单使用 ColorDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com