资源简介
可实现动态缩放功能以及对象捕捉功能,仿AutoCAD的简易交互式CAD系统。由于代码没写详细注释,欢迎来私信或邮件询问。

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NCEditor.AffineTransform;
using NCEditor.Mouse;
using System.Drawing.Drawing2D;
using NCEditor.Tools;
using NCEditor.CanvasCtrl;
using NCEditor.SnapPoint;
namespace NCEditor
{
public partial class FormDoc : Form
{
public static baseTool currentTool;//当前命令
public static DictionaryseTool> registerTool = new DictionaryseTool>();
//初始化绘图工具
public const string CREATELINETOOL = “CREATELINETOOL“;
public const string CREATERECTANGLETOOL = “CREATERECTANGLETOOL“;
public const string CREATECIRCLETOOL = “CREATECIRCLETOOL“;
//初始化编辑工具
public const string NOTOOLLOAD = “NOTOOLLOAD“;
public const string EDITDELETETOOL = “EDITDELETETOOL“;
public const string EDITMOVETOOL = “EDITMOVETOOL“;
//记录上一个命令
public static string LASTTOOL = “NOTOOLLOAD“;
public FormDoc()
{
InitializeComponent();
//注册绘图工具
registerTool.Add(CREATELINETOOL new CreateLineTool());
registerTool.Add(CREATERECTANGLETOOL new CreateRectangleTool());
registerTool.Add(CREATECIRCLETOOL new CreateCircleTool());
//注册编辑工具
registerTool.Add(NOTOOLLOAD new NoToolLoad());
registerTool.Add(EDITDELETETOOL new EditDeleteTool());
currentTool = registerTool[NOTOOLLOAD];
}
public void UseTool(string registerName)//加载工具
{
currentTool.UnLoadTool();
currentTool = registerTool[registerName];
currentTool.LoadTool();
//baseTool setTool = registerTool[registerName];
//if (setTool != null)
//{
// setTool.LoadTool();
// currentTool = setTool;
//}
}
private void FormDoc_Load(object sender EventArgs e)
{
canvasDraw.Cursor = new Cursor(“CursorBlank.cur“);//载入自定义空鼠标。
MouseShape.Mstyle = Mousestyle.None;//程序启动无MouseMove事件时绘图窗口无鼠标。
}
private void canvasDraw_MouseMove(object sender MouseEventArgs e)
{
currentTool.MouseMove(e);
StatusX.Text = MouseShape.MousePoint.X.ToString();
StatusY.Text = MouseShape.MousePoint.Y.ToString();
}
private void canvasDraw_MouseDown(object sender MouseEventArgs e)
{
currentTool.MouseDown(e);
}
private void canvasDraw_KeyDown(object sender KeyEventArgs e)
{
currentTool.KeyDown(e);
if (e.KeyCode == Keys.Space || e.KeyCode == Keys.Enter)
{
if (baseTool.count == 1)
{
curren
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4807 2013-01-06 11:48 CAD\NCEditor\AffineTransform\CoordinateShape.cs
文件 1869 2012-09-09 16:01 CAD\NCEditor\AffineTransform\NCMatrix.cs
文件 326 2012-08-14 10:26 CAD\NCEditor\bin\Debug\CursorBlank.cur
文件 54784 2013-02-19 21:52 CAD\NCEditor\bin\Debug\NCEditor.exe
文件 146944 2013-02-19 21:52 CAD\NCEditor\bin\Debug\NCEditor.pdb
文件 11600 2013-02-20 21:53 CAD\NCEditor\bin\Debug\NCEditor.vshost.exe
文件 490 2012-06-02 22:34 CAD\NCEditor\bin\Debug\NCEditor.vshost.exe.manifest
文件 5926 2013-01-06 11:56 CAD\NCEditor\CanvasCtrl\Canvas.cs
文件 1124 2012-08-13 21:47 CAD\NCEditor\CanvasCtrl\Canvas.Designer.cs
文件 7028 2013-02-19 15:48 CAD\NCEditor\ClassDiagram1.cd
文件 7307 2013-02-19 15:49 CAD\NCEditor\ClassDiagram2.cd
文件 7580 2013-02-19 18:19 CAD\NCEditor\ClassDiagram3.cd
文件 326 2012-08-14 10:26 CAD\NCEditor\CursorBlank.cur
文件 4164 2012-10-01 10:35 CAD\NCEditor\FormDoc.cs
文件 9510 2012-10-01 10:34 CAD\NCEditor\FormDoc.Designer.cs
文件 12149 2012-10-01 10:34 CAD\NCEditor\FormDoc.resx
文件 2249 2013-01-06 11:56 CAD\NCEditor\Mouse\MouseShape.cs
文件 233 2012-08-13 22:15 CAD\NCEditor\Mouse\Mousest
文件 5546 2013-02-19 18:19 CAD\NCEditor\NCEditor.csproj
文件 13224 2013-01-06 11:56 CAD\NCEditor\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6815 2013-02-19 21:52 CAD\NCEditor\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 812 2012-10-01 10:50 CAD\NCEditor\obj\x86\Debug\GenerateResource.read.1.tlog
文件 1108 2012-10-01 10:50 CAD\NCEditor\obj\x86\Debug\GenerateResource.write.1.tlog
文件 6542 2013-02-20 21:53 CAD\NCEditor\obj\x86\Debug\NCEditor.csproj.FileListAbsolute.txt
文件 1052 2013-02-19 16:15 CAD\NCEditor\obj\x86\Debug\NCEditor.csproj.GenerateResource.Cache
文件 9174 2013-02-19 21:42 CAD\NCEditor\obj\x86\Debug\NCEditor.csprojResolveAssemblyReference.cache
文件 54784 2013-02-19 21:52 CAD\NCEditor\obj\x86\Debug\NCEditor.exe
文件 4361 2013-02-19 21:42 CAD\NCEditor\obj\x86\Debug\NCEditor.FormDoc.resources
文件 146944 2013-02-19 21:52 CAD\NCEditor\obj\x86\Debug\NCEditor.pdb
文件 180 2013-02-19 21:42 CAD\NCEditor\obj\x86\Debug\NCEditor.Properties.Resources.resources
............此处省略52个文件信息
相关资源
- C# TIP文件生成和拆解
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
评论
共有 条评论