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组 ...
随机推荐
- [NOI.AC#35]string 缩点+拓扑排序
链接 因为有交换相邻字母,因此给你字符串就相当于给你了这个字符串的所有排列 把等价的串映射到整数范围,再根据 \(m\) 种魔法连边,缩点后在 DAG 上DP即可 无耻地用了int128 #inclu ...
- 解决vmware 和hyper-v不能共存的问题
只需在 Windows 中以管理员身份运行命令提示符 cmd 1.运行 bcdedit /copy {current} /d "Windows 8 (关闭 Hyper-V)"命令, ...
- linux监测tomcat服务
原文链接:https://blog.csdn.net/qq_37936542/article/details/81086928 项目上线之后,tomcat服务器有时候会莫名其妙的挂掉,利用shell写 ...
- 洛谷 P1194 买礼物
洛谷 P1194 买礼物 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第II样东西,再买第J样,那么 ...
- Method for address space layout randomization in execute-in-place code
The present application relates generally to laying out address space for execute-in-place code and, ...
- 洛谷 P3955 图书管理员【民间数据】
P3955 图书管理员[民间数据] 题目背景 数据已再次修正 (既然你们不要前导0我就去掉了) 题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数. 每位借书的 ...
- POJ 3045 Cow Acrobats (最大化最小值)
题目链接:click here~~ [题目大意] 给你n头牛叠罗汉.每头都有自己的重量w和力量s,承受的风险数rank就是该牛上面全部牛的总重量减去该牛自身的力量,题目要求设计一个方案使得全部牛里面风 ...
- AVCaptureSession音频视频采集
// // AudioVideoCaptureViewController.m // live // // Created by lujunjie on 2016/10/31. // Copyrigh ...
- ORACLE10g R2【单实例 FS→单实例FS】
ORACLE10g R2[单实例FS→单实例FS] 本演示案例所用环境: primary standby OS Hostname pry std OS Version RHEL5.8 RHEL5. ...
- leetcode笔记:Word Break
一. 题目描写叙述 Given a string s and a dictionary of words dict, determine if s can be segmented into a sp ...