首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于自定义控件有关问题100分求解

2012-02-19 
关于自定义控件问题高手进100分求解当用户把工具箱里的自定义控件拖放到自己的C/S或B/S界面上时,自定义控

关于自定义控件问题高手进100分求解
当用户把工具箱里的自定义控件拖放到自己的C/S   或B/S界面上时,自定义控件能否向用户CS文件里自动添加程序代码。如果能请问在写自定义控件时应该怎么写。
因为目前我做了一个自定义控件,当用户使用的时候他需要手动在他自己的项目里面添加代码,我能否在自定义控件里写好这段代码,当用户拖动控件到界面时,自定义控件就自动把我写好的代码添加到用户的程序里面去。

[解决办法]
给你一个思路,在你的自定义控件的设计器中引用vs2005的库,好象是envdt和envdt80.通过它们可以操作工程中的任意对象,当然也包括添加代码。但我对这个库不太熟悉.你看一下MSDN吧。
[解决办法]
可以的,
有两个重点:
1、拖放控件\组件的时机,请看我的blog:
public class Class1Designer : ComponentDesigner
{
public Class1Designer() : base()
{

}

// 从工具箱上拖放一个Component时,执行此方法。
public override void InitializeNewComponent(System.Collections.IDictionary defaultValues)
{

}
}

向cs中添加代码,应该写在InitializeNewComponent方法中


2、操纵DTE向cs中加代码:
添加EnvDTE.dll和EnvDTE80.dll

using EnvDTE;
using EnvDTE80;

TextDocument textDoc = _applicationObject.ActiveDocument.Object( "TextDocument ") as TextDocument;
textDoc.Selection.Insert( "mapserver ", 0);

热点排行