C#继承Treeview控件的自定义控件 求救!!!
class FolderTree:System.Windows.Forms.TreeView,ISupportInitialize
{
string _rootFolder = "";
bool _showFiles = true;
bool _inInit = false;
public FolderTree()
{
}
[Category("Behavior"), Description("预发布的根目录树"), DefaultValue("c:\\")]
public string RootFolder
{
get { return _rootFolder; }
set {
_rootFolder = value;
if(!_inInit)
InitializeTree();
}
}
[Category("Behavior"),
Description("是否显示文件."),
DefaultValue(true)]
public bool ShowFiles
{
get { return _showFiles; }
set { _showFiles = value; }
}
[Browsable(false)]
public string SelectedFolder
{
get
{
if (this.SelectedNode is FolderNode)
return ((FolderNode)this.SelectedNode).FolderPath;
return "";
}
}
private void InitializeTree()
{
if (!this.DesignMode)
{
FolderNode rootNode = new FolderNode(_rootFolder);
LoadTree(rootNode);
this.Nodes.Clear();
this.Nodes.Add(rootNode);
}
}
private void LoadTree(FolderNode folder)
{
string[] dirs = Directory.GetDirectories(folder.FolderPath);
foreach (string dir in dirs)
{
FolderNode tmpfolder = new FolderNode(dir);
folder.Nodes.Add(tmpfolder);
LoadTree(tmpfolder);
}
if (_showFiles)
{
string[] files = Directory.GetFiles(folder.FolderPath);
foreach (string file in files)
{
FileNode fnode = new FileNode(file);
folder.Nodes.Add(fnode);
}
}
}
public void BeginInit()
{
_inInit = true;
}
public void EndInit()
{
if (_rootFolder != "")
{
InitializeTree();
}
_inInit = false;
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// FolderTree
//
this.LineColor = System.Drawing.Color.Black;
this.ResumeLayout(false);
}
}我把这个编译后 为什么不能在工具箱中添加添加报错:FolederTree.dll没有可放置工具箱上的组件
这个怎么解决 是不是我在这个FoldeerTree设计视图中要不要添加控件什么的,像用户控件一样!!