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

 

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

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

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

http://www.cnblogs.com/sheng_chao/p/4387249.html

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

从 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

NET WinForm 开发所见即所得的 IDE 开发环境的更多相关文章

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

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

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

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

  3. Qt的IDE开发环境(KDevelop,MonKey Studio,QDevlop,Dev-cpp,Cobras,Edyuk)

    讲到Qt的IDE开发环境,本人一直在Windows下使用VC6.0 + Qt4.3.1开发程序.但转到Linux下,使用Fedora中自带的KDevelop + Qt4.3.1开发程序. 最近一直做Q ...

  4. 搭建Cocos Code IDE开发环境

    Cocos Code IDE是Cocos2d-x团队开发的,用于开发Cocos2d-JS和Cocos2d-x Lua绑定的游戏工具,它是基于Eclipse[ Eclipse 是一个开放源代码的.基于J ...

  5. centos6.5下Python IDE开发环境搭建

    自由不是想做什么就做什么,而是想不做什么就不做什么.        ---摘抄于2016/11/30晚 之前学习了一段时间的Python,但所有部署都在windows上.正赶上最近在学习liux,以后 ...

  6. 虚拟机安装中文Fedora14和C/C++IDE开发环境

    虚拟机安装中文Fedora14和C/C++IDE开发环境 2010-12-05 00:15:58 标签:中文Fedora14 IDE 开发环境 C/C++ 原创作品,允许转载,转载时请务必以超链接形式 ...

  7. 将vim打造成php的IDE开发环境

    将vim打造成IDE开发环境 本文主要介绍将vim打造成IDE开发环境,如代码补全,高亮显示,函数跳转,函数自动注释等 首先介绍2款VIM插件管理器:Vbundle,Pathogen 本文中的vim插 ...

  8. 使用code::blocks搭建objective-c的IDE开发环境 支持 @interface

    网上有许多的关于 <使用code::blocks搭建objective-c的IDE开发环境>的文章. 大多是写了一个Helloworld 就结束了,今天试了试 添加了一个 @interfa ...

  9. 第三方web ide开发环境下vuejs开发HMR环境搭建-码农这样开发是快乐的!

    vuejs是一个非常优秀的前端框架,利用该框架可以快速开发出任何web app,之所以vuejs开发非常高效快捷,其中最重要的一点就是利用webpakc提供的HMR(热模块替换)特性,可以边写vue组 ...

随机推荐

  1. vim-复制、粘贴

    选中某些行,可以在命令行模式下执行如下操作 v(小写),按上下左右键,可以选中某些行 V(大写),按上下键,这时候可以直接选中光标所在的行 ctrl+v(小写),可以选中一个矩形区域 取消选中,这些指 ...

  2. 21. Node.Js Buffer类(缓冲区)-(一)

    转自:https://blog.csdn.net/u011127019/article/details/52512242

  3. Atcoder At Beginner Contest 068 C - Cat Snuke and a Voyage

    C - Cat Snuke and a Voyage Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem State ...

  4. 3.字符设备驱动------Poll机制

    1.poll情景描述 以之前的按键驱动为例进行说明,用阻塞的方式打开按键驱动文件/dev/buttons,应用程序使用read()函数来读取按键的键值. ) { read(fd, &key_v ...

  5. ListCtrl添加右键菜单(在对话框类中)

    在对话框类中如何添加NM_RCLICK消息: ListCtrl控件右键单击选择属性 在右侧属性栏中选择控件事件 在控件事件中找到NM_RCLICK并添加 完成,写代码

  6. 洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib

    P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 题目描述 农民约翰的母牛总是产生最好的肋骨.你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们.农民约翰确定他卖给 ...

  7. virtualtemplate 接口

    虚拟接口的配置.建立.与实际接口的关联 VPN在会话连接建立之后.须要创建一个虚拟接口用于和对端之间数据传输.此时,将依照用户配置,选择一个虚拟接口模板,动态地创建一个虚拟接口. 该接口将在会话结束时 ...

  8. 学习笔记(三):jQuery之DOM

    1.jQuery属性. 获取元素属性的语法: attr(name)                   例子:$("#img1").attr("src"); 设 ...

  9. 软件——机器学习与Python,Python3的输出与输入

    输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') p ...

  10. DataTable +chart控件

    //这是仿你的DataTable //-----开始--------- DataTable dataTable1 = new System.Data.DataTable(); dataTable1.C ...