ActiveX控件属性不工作(C#)

ActiveX控件属性不工作(C#),c#,.net,activex,C#,.net,Activex,我有一个C#ActiveX控件,其接口定义类似于: int MyInt { get; set; } string MyString { get; set; } Color MyColor { get; set; } 接口实现如下: protected int myInternalInt; protected string myInternalString; protected Color myInternalColor; public int MyInt { get { return myIn

我有一个C#ActiveX控件,其接口定义类似于:

int MyInt { get; set; }
string MyString { get; set; }
Color MyColor { get; set; }
接口实现如下:

protected int myInternalInt;
protected string myInternalString;
protected Color myInternalColor;
public int MyInt { get { return myInternalInt; } set { myInternalInt = value; } }
public string MyString { get { return myInternalString; } set { myInternalString = value; } }
public Color MyColor { get { return myInternalColor; } set { myInternalColor = value; } }
int和string属性(以及我尝试过的其他基本类型)可以按预期工作,但颜色类型不能。控件的属性页正确解释类型,并填充用于选择颜色类型的下拉列表。但是,它不会显示颜色类型属性的当前内部值(改为显示黑色,即默认值),也不会传回用户所做的任何更改。如果myInternalColor在上面被显式初始化,例如“protected Color myInternalColor=Color.Blue;”,则同样适用

有人能解释一下如何使颜色属性工作,即正确地将其值传入和传出控件吗

++++++++++++++++++++++++++++++++

在我看来,我上面概述的问题可能是COM互操作问题。事实证明,我的VS2008开发环境中的UserControl TestContainer似乎与颜色属性正确交互,但VS6提供的ActiveX控件测试容器却没有。设计用于运行控件的实际容器是基于COM的,我打赌前面提到的Ax测试容器也是如此


(作为用户控件开发的新手,我似乎没有理解我正在开发的WinForm控件在技术上不是ActiveX控件,我只是通过最近的研究才知道这一区别。)

这段代码看起来不错。问题可能出在将color属性绑定到相关控件的绑定代码中(下拉?)。你能发布那个代码吗?通过“下拉”我指的是标准的Windows颜色选择对话框,在属性表中单击属性的下拉箭头时会出现这个对话框。我误按了enter,所以要继续。。。该绑定可能是由Visual Studio或.Net自动处理的;我看不到任何看起来像绑定代码的东西。