gpt4 book ai didi

c# - 向 System.Drawings.Color 添加颜色选项

转载 作者:可可西里 更新时间:2023-11-01 08:33:37 25 4
gpt4 key购买 nike

在 visual studio 中,当在标记(或代码隐藏)中创建控件时,您可以像这样以十六进制格式指定颜色:“#FFFFFF”,但您也可以从预设颜色列表中进行选择,例如:白色,小麦、 window 等(见截图)。
是否可以扩展该列表并添加其他颜色?
enter image description here

最佳答案

此列表基于 System.Drawing.KnownColor 枚举值。作为枚举 cannot be extended 和你 cannot inherit from another enum ,如果你想创建包含更多命名颜色的列表以在你自己的代码中使用,你必须实现你自己的枚举,其中包含手动添加的这些值以及你希望在那里看到的其他值。

当然,除了 System.Drawing.KnownColor 枚举之外,Color 结构中还有一个方法用于获取此命名颜色的值 - Color.FromKnownColor .我认为您还应该向 Color 结构添加扩展方法,这将对您自己的枚举执行相同的操作,就像 FromKnownColor 方法对 KnownColor 枚举所做的那样。也许你甚至可以在你自己的扩展方法中使用 FromKnownColor 方法来简化这个标准枚举中已经存在的颜色。

但是,如果您只想在 ASP.NET 设计器中扩展这个列表,那么您无法在自己的项目中进行任何更改或通过更改 VS 中的选项来执行此操作。也许您可以在 Visual Studio 中编写一个加载项来执行此操作,但如果这是您想要执行的操作,那是我看到的唯一方法。

编辑:如果继承控件是您的一个选项,那么您可以获得的最佳答案可能是simplecoder建议的答案,如 described in his answer - 创建您自己的控件基于旧的,这个新的枚举值绑定(bind)到你想要使用新颜色的属性。

关于c# - 向 System.Drawings.Color 添加颜色选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16202279/

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