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才这么做的!
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<? extends AbstractDomain> abstractIBaseBo =null;
@AnchitPancholi 我觉得这个设计很奇怪。你应该避免声明这样的字段。
@AnchitPancholi 我不认为你可以。我可能错了,因为我对 C# 不像对 Java 那样熟悉。我想你可以有一个AbstractIBaseBo<AbstractDomain>
。我还认为您可以在具有类型参数T
其中T : AbstractDomain
的泛型类中拥有AbstractIBaseBo<T>
类型的字段。
我会尝试找出其他可能的解决方案,否则我很可能需要更改我的设计。以上是关于C#中如何使用ChooseColor的主要内容,如果未能解决你的问题,请参考以下文章