NET WinForm 开发所见即所得的 IDE 开发环境
Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【2.源代码简要说明】
GitHub:https://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 开发环境的更多相关文章
- Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【2.源代码简要说明】
GitHub:https://github.com/iccb1013/Sheng.Winform.IDE 在上一篇文章中,简要的介绍了 Sheng.Winform.IDE 的基本功能和要实现的目标: ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- 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 ...
- 搭建Cocos Code IDE开发环境
Cocos Code IDE是Cocos2d-x团队开发的,用于开发Cocos2d-JS和Cocos2d-x Lua绑定的游戏工具,它是基于Eclipse[ Eclipse 是一个开放源代码的.基于J ...
- centos6.5下Python IDE开发环境搭建
自由不是想做什么就做什么,而是想不做什么就不做什么. ---摘抄于2016/11/30晚 之前学习了一段时间的Python,但所有部署都在windows上.正赶上最近在学习liux,以后 ...
- 虚拟机安装中文Fedora14和C/C++IDE开发环境
虚拟机安装中文Fedora14和C/C++IDE开发环境 2010-12-05 00:15:58 标签:中文Fedora14 IDE 开发环境 C/C++ 原创作品,允许转载,转载时请务必以超链接形式 ...
- 将vim打造成php的IDE开发环境
将vim打造成IDE开发环境 本文主要介绍将vim打造成IDE开发环境,如代码补全,高亮显示,函数跳转,函数自动注释等 首先介绍2款VIM插件管理器:Vbundle,Pathogen 本文中的vim插 ...
- 使用code::blocks搭建objective-c的IDE开发环境 支持 @interface
网上有许多的关于 <使用code::blocks搭建objective-c的IDE开发环境>的文章. 大多是写了一个Helloworld 就结束了,今天试了试 添加了一个 @interfa ...
- 第三方web ide开发环境下vuejs开发HMR环境搭建-码农这样开发是快乐的!
vuejs是一个非常优秀的前端框架,利用该框架可以快速开发出任何web app,之所以vuejs开发非常高效快捷,其中最重要的一点就是利用webpakc提供的HMR(热模块替换)特性,可以边写vue组 ...
随机推荐
- LeetCode OJ Basic Calculator II
Basic Calculator II 题目 思路 和这个一样:Basic Calculator I 代码 class ExpressionTransformation { public: strin ...
- 使用NPOI时写的几个辅助方法
简介:包含:获取单元格合并信息GetMergedCellAddress.获取引用单元格字符串ConvertAddressToString.获取单元格字符串格式内容CellValueToString p ...
- Codefroces 784 愚人节题目(部分)
A. Numbers Joke time limit per test 2 seconds memory limit per test 64 megabytes input standard inpu ...
- [JWT] JWT with HS256
The advantages of JWT over traditional session based validation is: it effectively removing all auth ...
- LayoutAnimation-容器动画
1.LayoutAnimation的作用主要就是加载到一个layout上,让这个layout里面的所有控件都有相同的动画效果.现在用到的是在listview中添加动画,使得它每一个item都是滑落显示 ...
- 1.1 Introduction中 Putting the Pieces Together官网剖析(博主推荐)
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Putting the Pieces Together 拼在一起 This comb ...
- Java Web学习总结(12)——使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- js进阶 13-5 jquery队列动画如何实现
js进阶 13-5 jquery队列动画如何实现 一.总结 一句话总结:同一个jquery对象,直接写多个animate()就好. 1.什么是队列动画? 比如说先左再下,而不是左下一起走 2.怎么实现 ...
- call,apply,求最大最小值,平均数等基础编程知识
CALL/APPLY.一些编程基础以及一些基础知识.正则 call.apply.bind 求数组的最大值和最小值: 数组排序(SORT的原理->localeCompare实现汉字比较),取头取尾 ...
- UML学习总结(1)——UML学习入门
随着亲手接触的项目越来越多,项目的复杂度越来越大,项目的理解程度也变的很难,尤其是在接收一个别人已经做好的项目时,你迫切先想到的就是"有没有文档啊",当然是各种文档,概要设计文档, ...