SharpDevelop的AddInTree View 插件

SharpDevelop AddInTreeView 插件解析
本文分享了一个简单的SharpDevelop插件AddInTreeView的源代码,该插件能够展示加载的Add-In信息,包括名称、属性及调试信息等。
自从SharpDevelop 源码分析的系列文章发出来之后,很多朋友给了不错的评价,在这里先感谢各位朋友的鼓励。另外,评论中有位朋友想看看我在文章中提到的AddInTreeView插件,其实这个是个很简单的小东西,因此单独发在这里了。(好像没有找到那里能上传文件,因此直接贴代码了)

AddinTreeViewCommand.cs
/**//*
*CreatedbySharpDevelop.
*User:Administrator
*Date:2004-10-4
*Time:4:12
*
*TochangethistemplateuseTools|Options|Coding|EditStandardHeaders.
*/

usingSystem;
usingSystem.Windows.Forms;
usingSystem.CodeDom.Compiler;

usingICSharpCode.SharpDevelop.Gui;
usingICSharpCode.SharpDevelop.Gui.Pads;
usingICSharpCode.Core.AddIns;
usingICSharpCode.Core.AddIns.Codons;
usingICSharpCode.SharpDevelop.Services;

namespaceAddins.AddinTreeView
{
/**////<summary>
///DescriptionofMyClass.
///</summary>

publicclassAddinTreeViewCommand:AbstractMenuCommand
{
publicoverridevoidRun()
{
using(AddinTreeViewContentviewContent=newAddinTreeViewContent())
{
WorkbenchSingleton.Workbench.ShowView(viewContent);

}

}

}


publicclassAddinTreeViewContent:AbstractViewContent
{
AddinTreeViewControlviewControl
=newAddinTreeViewControl();

publicoverrideControlControl
{
get
{
returnviewControl;
}

}


publicoverrideboolIsDirty
{
get
{
returnfalse;
}

set
{
}

}


IWorkbenchWindowworkbenchWindow;
publicoverrideIWorkbenchWindowWorkbenchWindow
{
get
{
returnworkbenchWindow;
}

set
{
workbenchWindow
=value;
workbenchWindow.Title
="AddInTreeView";
}

}


publicAddinTreeViewContent()
{
TitleName
="AddinTreeView";
}



publicoverrideboolIsViewOnly
{
get
{
returntrue;
}

}

publicvoidSaveFile(){}
publicvoidUndo(){}
publicvoidRedo(){}
publicoverridevoidSave(){}
publicoverridevoidSave(stringfilename){}
publicoverridevoidLoad(stringfilename)
{
}


publicoverridestringTabPageText
{
get
{
return"AddInTree";
}

}


}

}



AddinTreeViewControl.cs
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Drawing;
usingSystem.Data;
usingSystem.Windows.Forms;

usingICSharpCode.SharpDevelop.Gui;
usingICSharpCode.Core.AddIns;
usingICSharpCode.Core.AddIns.Codons;

namespaceAddins.AddinTreeView
{
/**////<summary>
///AddinTreeViewControl的摘要说明。
///</summary>

publicclassAddinTreeViewControl:System.Windows.Forms.UserControl
{
privateSystem.Windows.Forms.ColumnHeaderchName;
privateSystem.Windows.Forms.ListViewlvAddin;
privateSystem.Windows.Forms.ColumnHeaderchInfo;
privateSystem.Windows.Forms.CheckBoxcbShowAddinInfo;
privateSystem.Windows.Forms.Splittersplitter2;
privateSystem.Windows.Forms.ListViewlvDebug;
privateSystem.Windows.Forms.Splittersplitter1;
privateSystem.Windows.Forms.TreeViewtvAddin;
privateSystem.Windows.Forms.ColumnHeaderchValue;
/**////<summary>
///必需的设计器变量。
///</summary>

privateSystem.ComponentModel.Containercomponents=null;

publicAddinTreeViewControl()
{
//该调用是Windows.Forms窗体设计器所必需的。
InitializeComponent();

//TODO:在InitializeComponent调用后添加任何初始化
InitAddinTreeView();
}


/**////<summary>
///清理所有正在使用的资源。
///</summary>

protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}

}

base.Dispose(disposing);
}


组件设计器生成的代码#region组件设计器生成的代码
/**////<summary>
///设计器支持所需的方法-不要使用代码编辑器
///修改此方法的内容。
///</summary>

privatevoidInitializeComponent()
{
this.chName=newSystem.Windows.Forms.ColumnHeader();
this.lvAddin=newSystem.Windows.Forms.ListView();
this.chValue=newSystem.Windows.Forms.ColumnHeader();
this.chInfo=newSystem.Windows.Forms.ColumnHeader();
this.cbShowAddinInfo=newSystem.Windows.Forms.CheckBox();
this.splitter2=newSystem.Windows.Forms.Splitter();
this.lvDebug=newSystem.Windows.Forms.ListView();
this.splitter1=newSystem.Windows.Forms.Splitter();
this.tvAddin=newSystem.Windows.Forms.TreeView();
this.SuspendLayout();
//
//chName
//
this.chName.Text="属性";
this.chName.Width=217;
//
//lvAddin
//
this.lvAddin.Columns.AddRange(newSystem.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=newSystem.Drawing.Point(443,24);
this.lvAddin.MultiSelect=false;
this.lvAddin.Name="lvAddin";
this.lvAddin.Size=newSystem.Drawing.Size(661,509);
this.lvAddin.TabIndex=13;
this.lvAddin.View=System.Windows.Forms.View.Details;
//
//chValue
//
InBlock.gif
内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值