GitHubhttps://github.com/iccb1013/Sheng.Winform.IDE

在上一篇文章中,简要的介绍了  Sheng.Winform.IDE 的基本功能和要实现的目标:

Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【1.基本介绍】

http://blog.shengxunwei.com/Home/Post/30bcf36f-5ff7-412b-bb47-763ce9218bce

在这一篇文章中,我将对源代码进行简要的说明。

从 GitHub 上克隆版库之后,进入 SourceCode 目录,你将看到类似如下的目录结构:

Project 目录:

解决方案文件,通过 SailingEase.sln 打开整个工程。

Source 目录:

工程目录,解决方案所包含的所有的工程在此目录下。

ThirdPartyLib 目录:

引用的第三方库。

.ssr 结尾的文件:

SailingEase .NET Resources Tool 的工程文件,用于处理多语言开发中的资源文件。

在此下载最新版本:http://ssr.shengxunwei.com/

打开解决方案后,工程结构如下:

Components 目录:

业务相关的功能模块:数据实体管理、数据字典管理、导航管理、资源管理、窗体和窗体设计器。

DataBaseProvide 目录:

数据库访问存适配器。

Modules 目录:

基本功能模块:数据源管理、启动器、选项、工程管理、启始页。

其它的工程基本功能如下:

ComponentModel 和 ComponentModel.Design :

用于窗体设计器,为窗体设计器提供部分基础功能。

Controls 和 Controls.Extensions

控件库。

Core 和 Core.Development

业务功能的核心实现。

Data:

数据访问相关。

Drawing:

绘图相关。

Infrastructure:

基础结构。

Kernal:

部分基础功能的实现。

Net:

网络相关,TCP Client/Server 的实现。

RegexTool:

正则表达式工具和工具类。

RuntimeContract:

运行时协定。

Shell:

应用程序宿主。

Win32:

部分 Win32 API 的封装。

Windows.Forms.Development:

用于窗体设计器,为窗体设计器提供部分基础功能。

目前的源代码,实现的是 IDE 部分,启动 IDE 新建项目之后,所有的设计和数据,都会被保存在一个 zip 文件中,作为 Sheng.Winform.IDE 的工程文件。

工程文件中,使用 XML 存储数据,你可以使用任何其它技术方案或平台,解析这些 XML ,来实现自己的运行时(解析器)。

你可以直接解压缩项目文件,得到包中的内容:

拿窗体的定义来说,你可以看到如下定义:

你可以在本项目的基础上之上,定制你自己的业务,实现你自己的运行时平台。

希望本项目对你有用,Enjoy。

原文:http://blog.shengxunwei.com/Home/Post/6a8f5c78-b492-4d49-9230-2a20147aae6f

Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【2.源代码简要说明】的更多相关文章

  1. GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...

  2. NET WinForm 开发所见即所得的 IDE 开发环境

    Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)[2.源代码简要说明]   GitHub:https://github.co ...

  3. Github 开源:升讯威 Winform 开源控件库( Sheng.Winform.Controls)

    Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls 本控件库中的代码大约写于10年前(2007年左右),难免有不成熟与欠考虑之处, ...

  4. Github 开源:使用控制器操作 WinForm/WPF 控件( Sheng.Winform.Controls.Controller)

    利用午休时间继续把过去写的一些代码翻出来说一说,文章可能写的比较简略,但是我会努力把核心意思表达清楚,具体代码可直接访问 Github 获取. Github 地址:https://github.com ...

  5. iOS:开发常用GitHub开源项目(持续更新)

    IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...

  6. 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序

    直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...

  7. 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)

    标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...

  8. Github开源项目(企业信息化基础平台)

    JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...

  9. github开源库(二)

    21.drag-sort-listview DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能.重写了TouchIntercept ...

随机推荐

  1. js中表单的聚焦失焦事件

    焦点事件: 不是所有元素都有焦点事件,只有可交互性的元素才有,比如表单元素,a标签.页面中只能有一个元素有焦点,一个聚焦,另一个就失焦,默认在document. 例子结构如下: <form> ...

  2. Java自学手记——接口

    抽象类 1.当类和对象被abstract修饰符修饰的时候,就变成抽象类或者抽象方法.抽象方法一定要在抽象类中,抽象类不能被创建对象,如果需要使用抽象类中的抽象方法,需要由子类重写抽象类中的方法,然后创 ...

  3. Randoop测试类和方法(用例自动生成)

    详细使用方法见randoop官网: https://randoop.github.io/randoop/manual/index.html 测试程序之前,先检测下你的Randoop是否配置好: 打开c ...

  4. Java ee el表达式

    以前在开发的时候,偶尔会遇到jsp页面不支持el表达式的情况. 这个的原因是因为El功能被关闭了, 当时的解决办法是关闭忽略.isELIgnored 设设置 但是为什么有时候不用设置也可以了呢.发现原 ...

  5. Java条形码/二维码生成和解析

    注意-本类依赖jar包文件:core.jar和zxing-javase.jar 下载jar文件,到本博客文件栏目下载. import com.google.zxing.BarcodeFormat; i ...

  6. 【干货】JS相关知识点总结

    一.获取元素方法 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量.如下: 上面的语句,如果把j ...

  7. Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配)

    Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配) Description 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的 ...

  8. 使用Linux环境变量

    bash shell用一个叫做环境变量的特性来存储有关shell会话和工作环境的信息. 全局环境变量 这对shell 会话和所有生成的子shell都是可见的.局部变量只对创建他们的shell可见. 系 ...

  9. RxSwift 系列(三) -- Combination Operators

    RxSwift 系列(三) -- Combination Operators 前言 本篇文章将要学习如何将多个Observables组合成一个Observable. Combination Opera ...

  10. Java发送新浪微博的问题

    一,背景 2017-06-26微博公告替换了一些接口,导致以前的: statuses/repost 转发一条微博 statuses/update 发布一条微博 statuses/upload 上传图片 ...