资源简介
可实现动态缩放功能以及对象捕捉功能,仿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#winform开发运动控制卡
- CS开发框架 最新Ribbin版C#源码 界面美
- 自定义时间轴,Custom Slider,WPF编程
- 用c#实现画图功能可以画出各种图形,
- C# socket通信实例226433
- C#ip地址查看器
- PLC通过TCP/IP协议通信C#源码
- C#写的地理信息系统初级代码
- 基于C#的多线程的网页抓取
- 生产者消费者为模型的多线程编程c
- 模拟进程调度C#版基于时间片的轮转调
- C# 提取文章关键词
- C#科学高级计算机源码
- c# vs2010 小游戏之五子棋
- C#数字图像处理3种典型方法:提取像
- c# winForm Ip地址输入控件反馈修改
- C#操作Mysql创建数据库,数据表,增、
- C#超市管理系统代码及窗体
- C# 基于三层架构开发的物流信息管理
- 9种预测、处理算法实现源代码c#
- 基于C#的网络五子棋对战
- C#网络版斗地主
- c# 同步网上聊天程序代码服务器+客户
- C#图像处理源代码包括包括均值滤波,
- 标准正态分布---由概率计算分位数C
- C# 用VScrollBar控制webbrowser的滚动条 简
- WPF查看Word文档应用程序源码C#源码
- C#根据字符串生成二维码并显示
- C# ,WinForm 多人聊天
- 人脸识别C#源码
评论
共有 条评论