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. [基础架构]PeopleSoft Application Server 重要文件说明

    我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...

  2. Apache的作用及意义

    Apache服务器只是作为一个转接url的服务器,根据客户端发送的url,转接到对应的运行服务器(比如:tomcat自带的服务器)中进行相应的运行操作. 使用Apache的好处,可以隐藏掉运行服务的u ...

  3. <object>元素+svg 绘制图片

    结果图: 将以下代码保存至sample.svg文件中: <!-- SVG图形一开始生命命名空间 --> <svg xmlns="http://www.w3.org/2000 ...

  4. Cent-Linux腾讯课堂学习笔记

    RedHat yum系统下 防火墙 关闭防火墙方法 systemctl stop firewalld 检测防火墙状态 systemctl status firewalld 设置防火墙禁用开机启动 sy ...

  5. [Oracle]高水位标记(HWM)

    (一)高水位标记(High Water Mark,HWM)的概念 所谓高水位标记,是指一个已经分配的段中,已经使用的空间与未使用的空间的分界线.在表的使用过程中,随着数据的不断增多(insert),H ...

  6. Servlet转发到JSP页面的路径问题

    一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同 ...

  7. requireJS 源码(三) data-main 的加载实现

    (一)入口 通过 data-main 去加载 JS 模块,是通过  req(cfg) 入口去进行处理的. 为了跟踪,你可以在此 加断点 进行调试跟踪. (二)  req({ })执行时,functio ...

  8. Android之RecyclerView入门

    首先来实现最简单的列表展示,如图 在这个展示中,RecyclerView的作用仅限于回收和定位屏幕上的TextView,在用户滑动屏幕时,会把上一个视图回收掉,并显示下一个页面的视图,也就是回收再利用 ...

  9. laravel+vue组合的项目中引入ueditor(打包成组件形式)

    前言:最近写东西需要用到ueditor,并且需要是在vue组件中引入. (本博客默认你已经配置了laravel+vue的项目环境,如果还没有配置好的的小伙伴,可以看看我的另一篇博客,链接: http: ...

  10. linux UART

    #include <stdio.h> #include <string.h> #include <sys/types.h> #include <errno.h ...