We have just upgraded our WinForms solution from 14.1 to 17.2 and having issues with the new UltraColorPicker which is widely used by us.
It does apparently not support known colors and instead default to red when setting the Color property.
colLineColor.Color = Color.FromKnownColor(KnownColor.WindowText)
Any way the new color picker can support known colors like the old version?
I know I can set the control's Style to VisualStudio to make it look and behave like the old, I would hope it's possible to have both functionalities.
Thanks in advance.
We intentionally removed the system colors from our new ColorPicker control. If you want to use the system colors then only way to do it is by changing its Style to VisualStudio .
Please let me know if I may be of further assistance.
Sincerely,Sahaja KokkalagaddaAssociate Software Developer
What's the reasoning behind this? System colors are widely use by us and very usable in general.
It has been our experience and the experience of many of our customers that system colors are NOT widely used. In fact, they can be very confusing for end-users who don't realize that when you choose a system color it may appear as a completely different color on another machine. This is not intuitive or obvious to most users and we received many requests over the years for a way to turn off the system colors in the original (VisualStudio) style of the color picker.
I guess it depends on the context, of course. I suppose there are some cases where your users might want to use system colors in certain situations, like maybe if they are styling the application being run. But that's why we left you the option of reverting to the older (VisualStudio) style.
System colors also don't relate to the RGB or palette that is displayed in the new color picker style - those have no meaning for system colors.
So it was decided that the new color picker style should not support them.
If you really wanted to, you could create your own grid palette that includes the system colors and I think that might work.
I would think having it supported as an option, and turned off by default, would be the best option and serve a wider range of uses, it's a .NET standard after all. Just my opinion.
Thank you for the detailed response.
What do you mean by "it's a DotNet standard?" I mean... I guess if you are writing applications for developers, it might makes sense, depending on the application, to provide a user with a list of system colors. But as a general rule, desktop applications don't really do this. You won't find system colors as an option in MS Office, for examples. Or any Windows application that I am aware of, in fact.
Visual Studio provides them, because Visual Studio is for developing applications that will run on many different end-user machines and so it makes sense for an application to pick up the colors on the system that the user choose.
But generally speaking, it would make sense to create Word document and use a system color for the content.
I don't know what kinds of applications you are creating, of course, so maybe system colors are perfectly valid in your case. So:
Klaus said:I would think having it supported as an option, and turned off by default, would be the best option and serve a wider range of uses
This is exactly what we have done. :)