C#中如何使用ChooseColor

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中如何使用ChooseColor相关的知识,希望对你有一定的参考价值。

最近发现Windows API的功能非常强大,想学习一下,但是本人学的是C#,没有Windows编程的基础,想用Windows API弹出一个颜色对话框,看到书上说的
函数的原型是BOOL ChooseColor(LPCHOOSECOLOR IpCC)
lpCC:指向一个包括初始化对话框信息的CHOOSECOLOR结构。当ChooseColor函数返回时,此结构含有有关用户颜色选择的信息。
那个CHOOSECOLOR结构是从哪来的,要怎么弄呢?
还望高手多多指教!
C#提供的颜色对话框我会,我是想学习一下Windows API才这么做的!

ColorDialog cdialog = new ColorDialog();
if (cdialog.ShowDialog() == DialogResult.OK)

color = cdialog.Color;
参考技术A 系统API的 参考技术B 1L正确 参考技术C new一个

如何在 C# 的泛型中使用扩展

【中文标题】如何在 C# 的泛型中使用扩展【英文标题】:How to use extends in generic for C# 【发布时间】:2016-01-03 19:46:27 【问题描述】:

我是C# 的新手,如何在C# 中使用下面的泛型,我想要C# 中的Java 语句,

List<? extends MySuperClass> list= new ArrayList<MySubClass>();

Java 允许以上,我们可以在C# 中实现相同的功能吗?

【问题讨论】:

在 C# 中称为泛型约束。 相关:***.com/q/32664/1065197***.com/q/588643/1065197 这不是在 Java 中使用泛型的好例子。 【参考方案1】:

C# 没有通配符。所以简单的答案是否定的,没有直接的等价物。

但是,我认为用 Java 编写那行代码没有多大意义,因为您正在丢弃类型信息。你也可以写

List<MySubClass> list = new ArrayList<MySubClass>();

在 Java 中使用通配符的主要原因是让方法参数尽可能通用,如下所示:

static void foo(List<? extends MySuperClass> list)

你可以像这样用 C# 做到这一点:

static void foo<T>(IList<T> list) where T : MySuperClass 

【讨论】:

我怎样才能将它与下面的变量一起使用public AbstractIBaseBo&lt;? extends AbstractDomain&gt; abstractIBaseBo =null; @AnchitPancholi 我觉得这个设计很奇怪。你应该避免声明这样的字段。 @AnchitPancholi 我不认为你可以。我可能错了,因为我对 C# 不像对 Java 那样熟悉。我想你可以有一个AbstractIBaseBo&lt;AbstractDomain&gt;。我还认为您可以在具有类型参数T 其中T : AbstractDomain 的泛型类中拥有AbstractIBaseBo&lt;T&gt; 类型的字段。 我会尝试找出其他可能的解决方案,否则我很可能需要更改我的设计。

以上是关于C#中如何使用ChooseColor的主要内容,如果未能解决你的问题,请参考以下文章

如何在网站项目中使用 C# 7? [复制]

如何在 C# 中使用 imageMagick

我如何在 webBrowser 中使用 c# 执行点击事件

如何在 C# 中使用 libcinder?

如何使用 C# 使用 ALSA 在 Linux 中获取和设置音量?

如何使用 SMO 在存储过程中调用 c# 函数?