环境说明:Windows2003,VS2005
简介:控件用C#开发,控件中有一个按钮和一个文本框,单击控件上的按钮则清空文本框里的内容;
控件测试程序用VC开发,为MFC对话框程序,对话框上有一个“发送按钮”、“接收按钮”、“文本框”和“C#开发的控件”;
单击对话框上的“发送按钮”,则将对话框上“文本框”中的内容发送到“C#开发的控件”的文本框中,单击对话框上的“接收按钮”,则将“C#开发的控件”的文本框中的内容接收到对话框上的“文本框”中。
第一步:新建“windows控件工程”MyControl
第二步:修改项目配置信息
1、修改项目配置文件:AssemblyInfo.cs
[assembly: AssemblyDescription("MyControl & com")]
[assembly: ComVisible(true)]
2、修改项目属性:
选中项目“MyControl”\右键单击\选择属性\选择“生成”\选中为Com Interop注册
3、将控件名称改为:MyTestControl
在文件MyTestControl.cs中添加如下代码:using System.Runtime.InteropServices;
第三步:新建接口:IMyControl
[Guid("6B576723-028A-4b1e-81DB-295E0159C8AF")]
public interface IMyControl
{
string MyText
{
get;
set;
}
}
public interface IMyControl
{
string MyText
{
get;
set;
}
}
第四步:修改控件定义
将 public partial class MyTestControl : UserControl改为:
[Guid("FDF49DB3-54C2-4b4f-963C-349B5D68E483")]
public partial class MyTestControl : UserControl, IMyControl
public partial class MyTestControl : UserControl, IMyControl
第五步:向控件添加一个按钮(button1)和一个文本框(textBox1)
并向按钮添加单击事件:
public void button1_Click(object sender, EventArgs e)
{
this.textBox1.Text = "";
}
{
this.textBox1.Text = "";
}
第六步:向MyTestControl类中添加如下代码:
public string MyText
{
get
{
return this.textBox1.Text;
}
set
{
this.textBox1.Text = value;
}
}