古月春秋的专栏
人生的苦闷有二,一是欲望没有被满足,二是它得到了满足 苦闷镜像@http://blog.csdn.net/passos
博客园
::
首页
::
联系
::
订阅
::
管理
22 Posts :: 5 Stories :: 41 Comments :: 0 Trackbacks
公告
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(1)
给我留言
查看留言
我参加的小组
web标准设计
随笔分类
c/un*x(13)
dotNet(4)
feeling(5)
随笔档案
2007年2月 (1)
2006年6月 (2)
2006年4月 (2)
2006年2月 (1)
2006年1月 (1)
2005年11月 (1)
2005年9月 (4)
2005年7月 (3)
2005年5月 (1)
2004年10月 (4)
2004年6月 (1)
相册
photo
收藏夹
dotNet(5)
Unix
其它(2)
数据库(2)
业务流程管理(6)
Blog
baggio785的专栏
VonGates 學習筆記
编程
ASPCOOL BLOG
Eclipse插件开发
Java中文处理
Microsoft .Net Framework SDK QuickStart Tutorials
Microsoft patterns & practices
Shared Source Common Language Infrastructure 1.0 Release
中学生解 Google 编程赛模拟题
自责啊~居然是用javascript写的
管理
Microsoft Solutions Framework (MSF)
Microsoft Solutions Framework Version 3 White Papers
Microsoft 解决方案框架
TechNet 技术指南
职业经理自修手册
技术参考
Channel9
Generic ADO.net Data Access
MaxVirtual Data Library
MBI - Microsoft Business Integrator
MSDN Magazine
MSDN 中文站点
Shadowfax
其它
BBS 水木清华站 BLOG
BBS水木清华站
Blog on 27th Floor
Inside.NET
Thinking in Java 3rd Edition
洪峰
令狐葱乱炖军事
维基百科
最新评论
1. sd先行者
看到作者写的文章很惊喜。网上搜了很久,很多都是这篇得转载。作者真的算是先行者了。也很可惜,没让我早点看到。呵呵,或者说我自己没有早点对sd 感冒。留作纪念。感谢作者。
--960slj
2. re: ftp 后台自动上传下载
请问在怎样上传网站首页,谢谢
--谢小姐
3. re: SharpDevelop代码分析 (一、序+基本概念)
不错的说,good!
--Selfocus
阅读排行榜
1. 亚洲3S节目表(7460)
2. SharpDevelop代码分析 (一、序+基本概念)(3908)
3. SharpDevelop源码分析 (三、插件系统)(3114)
4. SharpDevelop的AddInTree View 插件(2927)
5. SharpDevelop源码分析 (二、主程序+隐藏的初始化) (2721)
评论排行榜
1. SharpDevelop代码分析 (一、序+基本概念)(11)
2. 远去的CodeLib(7)
3. SharpDevelop源码分析 (三、插件系统)(6)
4. SharpDevelop源码分析 (二、主程序+隐藏的初始化) (4)
5. 找到mysqlcc的问题所在(3)
SharpDevelop的AddInTree View 插件
自从SharpDevelop 源码分析的系列文章发出来之后,很多朋友给了不错的评价,在这里先感谢各位朋友的鼓励。另外,评论中有位朋友想看看我在文章中提到的AddInTreeView插件,其实这个是个很简单的小东西,因此单独发在这里了。(好像没有找到那里能上传文件,因此直接贴代码了)
AddinTreeViewCommand.cs
/**/
/*
* Created by SharpDevelop.
* User: Administrator
* Date: 2004-10-4
* Time: 4:12
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using
System;
using
System.Windows.Forms;
using
System.CodeDom.Compiler;
using
ICSharpCode.SharpDevelop.Gui;
using
ICSharpCode.SharpDevelop.Gui.Pads;
using
ICSharpCode.Core.AddIns;
using
ICSharpCode.Core.AddIns.Codons;
using
ICSharpCode.SharpDevelop.Services;
namespace
Addins.AddinTreeView
{
/**/
///
<summary>
///
Description of MyClass.
///
</summary>
public
class
AddinTreeViewCommand: AbstractMenuCommand
{
public
override
void
Run()
{
using
(AddinTreeViewContent viewContent
=
new
AddinTreeViewContent() )
{
WorkbenchSingleton.Workbench.ShowView(viewContent);
}
}
}
public
class
AddinTreeViewContent: AbstractViewContent
{
AddinTreeViewControl viewControl
=
new
AddinTreeViewControl();
public
override
Control Control
{
get
{
return
viewControl;
}
}
public
override
bool
IsDirty
{
get
{
return
false
;
}
set
{
}
}
IWorkbenchWindow workbenchWindow;
public
override
IWorkbenchWindow WorkbenchWindow
{
get
{
return
workbenchWindow;
}
set
{
workbenchWindow
=
value;
workbenchWindow.Title
=
"
AddInTreeView
"
;
}
}
public
AddinTreeViewContent()
{
TitleName
=
"
AddinTree View
"
;
}
public
override
bool
IsViewOnly
{
get
{
return
true
;
}
}
public
void
SaveFile()
{}
public
void
Undo()
{}
public
void
Redo()
{}
public
override
void
Save()
{}
public
override
void
Save(
string
filename)
{}
public
override
void
Load(
string
filename)
{
}
public
override
string
TabPageText
{
get
{
return
"
AddInTree
"
;
}
}
}
}
AddinTreeViewControl.cs
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Drawing;
using
System.Data;
using
System.Windows.Forms;
using
ICSharpCode.SharpDevelop.Gui;
using
ICSharpCode.Core.AddIns;
using
ICSharpCode.Core.AddIns.Codons;
namespace
Addins.AddinTreeView
{
/**/
///
<summary>
///
AddinTreeViewControl 的摘要说明。
///
</summary>
public
class
AddinTreeViewControl : System.Windows.Forms.UserControl
{
private
System.Windows.Forms.ColumnHeader chName;
private
System.Windows.Forms.ListView lvAddin;
private
System.Windows.Forms.ColumnHeader chInfo;
private
System.Windows.Forms.CheckBox cbShowAddinInfo;
private
System.Windows.Forms.Splitter splitter2;
private
System.Windows.Forms.ListView lvDebug;
private
System.Windows.Forms.Splitter splitter1;
private
System.Windows.Forms.TreeView tvAddin;
private
System.Windows.Forms.ColumnHeader chValue;
/**/
///
<summary>
///
必需的设计器变量。
///
</summary>
private
System.ComponentModel.Container components
=
null
;
public
AddinTreeViewControl()
{
//
该调用是 Windows.Forms 窗体设计器所必需的。
InitializeComponent();
//
TODO: 在 InitializeComponent 调用后添加任何初始化
InitAddinTreeView();
}
/**/
///
<summary>
///
清理所有正在使用的资源。
///
</summary>
protected
override
void
Dispose(
bool
disposing )
{
if
( disposing )
{
if
(components
!=
null
)
{
components.Dispose();
}
}
base
.Dispose( disposing );
}
组件设计器生成的代码
#region
组件设计器生成的代码
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器
///
修改此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.chName
=
new
System.Windows.Forms.ColumnHeader();
this
.lvAddin
=
new
System.Windows.Forms.ListView();
this
.chValue
=
new
System.Windows.Forms.ColumnHeader();
this
.chInfo
=
new
System.Windows.Forms.ColumnHeader();
this
.cbShowAddinInfo
=
new
System.Windows.Forms.CheckBox();
this
.splitter2
=
new
System.Windows.Forms.Splitter();
this
.lvDebug
=
new
System.Windows.Forms.ListView();
this
.splitter1
=
new
System.Windows.Forms.Splitter();
this
.tvAddin
=
new
System.Windows.Forms.TreeView();
this
.SuspendLayout();
//
//
chName
//
this
.chName.Text
=
"
属性
"
;
this
.chName.Width
=
217
;
//
//
lvAddin
//
this
.lvAddin.Columns.AddRange(
new
System.Windows.Forms.ColumnHeader[]
{
this
.chName,
this
.chValue}
);
this
.lvAddin.Dock
=
System.Windows.Forms.DockStyle.Fill;
this
.lvAddin.FullRowSelect
=
true
;
this
.lvAddin.GridLines
=
true
;
this
.lvAddin.HoverSelection
=
true
;
this
.lvAddin.Location
=
new
System.Drawing.Point(
443
,
24
);
this
.lvAddin.MultiSelect
=
false
;
this
.lvAddin.Name
=
"
lvAddin
"
;
this
.lvAddin.Size
=
new
System.Drawing.Size(
661
,
509
);
this
.lvAddin.TabIndex
=
13
;
this
.lvAddin.View
=
System.Windows.Forms.View.Details;
//
//
chValue
//
this
.chValue.Text
=
"
值
"
;
this
.chValue.Width
=
668
;
//
//
chInfo
//
this
.chInfo.Text
=
"
Info
"
;
this
.chInfo.Width
=
673
;
//
//
cbShowAddinInfo
//
this
.cbShowAddinInfo.Dock
=
System.Windows.Forms.DockStyle.Top;
this
.cbShowAddinInfo.Location
=
new
System.Drawing.Point(
443
,
0
);
this
.cbShowAddinInfo.Name
=
"
cbShowAddinInfo
"
;
this
.cbShowAddinInfo.Size
=
new
System.Drawing.Size(
661
,
24
);
this
.cbShowAddinInfo.TabIndex
=
12
;