📄 form1.cs
字号:
// btnSave
//
this.btnSave.ImageIndex = 1;
//
// toolBarButton16
//
this.toolBarButton16.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
//
// btnSelect
//
this.btnSelect.ImageIndex = 2;
//
// btnDelete
//
this.btnDelete.ImageIndex = 3;
//
// toolBarButton17
//
this.toolBarButton17.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
//
// btnLine
//
this.btnLine.ImageIndex = 4;
//
// btnRectangle
//
this.btnRectangle.ImageIndex = 5;
//
// btnCircle
//
this.btnCircle.ImageIndex = 6;
//
// btnArc
//
this.btnArc.ImageIndex = 7;
//
// btnText
//
this.btnText.ImageIndex = 8;
//
// toolBarButton1
//
this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
//
// btnMove
//
this.btnMove.ImageIndex = 9;
//
// btnRotate
//
this.btnRotate.ImageIndex = 10;
//
// btnMirror
//
this.btnMirror.ImageIndex = 11;
//
// btnZoomIn
//
this.btnZoomIn.ImageIndex = 12;
//
// btnZoomOut
//
this.btnZoomOut.ImageIndex = 13;
//
// toolBarButton2
//
this.toolBarButton2.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
//
// btnHelp
//
this.btnHelp.ImageIndex = 14;
//
// statusBar1
//
this.statusBar1.Location = new System.Drawing.Point(0, 411);
this.statusBar1.Name = "statusBar1";
this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
this.statusBarPanel1});
this.statusBar1.ShowPanels = true;
this.statusBar1.Size = new System.Drawing.Size(768, 22);
this.statusBar1.TabIndex = 1;
//
// statusBarPanel1
//
this.statusBarPanel1.Text = "就绪";
this.statusBarPanel1.ToolTipText = "当前位置";
this.statusBarPanel1.Width = 200;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(768, 433);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.statusBar1,
this.toolBar1});
this.Menu = this.mainMenu1;
this.Name = "Form1";
this.Text = "Net-CAD";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
{
Graphics g= this.CreateGraphics();
g.FillRectangle(Brushes.White, this.ClientRectangle);
g.PageUnit = GraphicsUnit.Pixel;
Splash spForm=new Splash();
spForm.ShowDialog(this);
//相对于X轴进行镜像变换
Matrix mat=new Matrix(1, 0, 0, -1, 0, 0);
g.Transform = mat;
Rectangle rect= this.ClientRectangle;
float viewDX = rect.Width / 2;
float viewDY = rect.Height / 2;
float viewScale=1;
m.Coordinate(g,ges,viewDX,viewDY,viewScale);
aCommand=creLine;
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g=this.CreateGraphics();
m.DrawAll(g,ges);
m.DrawSel(g,geSels);
}
public void Coordinate(Graphics g)
{
//g.TranslateTransform(viewDX, viewDY, MatrixOrder.Append);
//g.ScaleTransform(viewScale, viewScale, MatrixOrder.Append);
g.Clear(Color.White);
//drawall(g);
}
private void mnuLine_Click(object sender, System.EventArgs e)
{
aCommand=creLine;
}
private void mnuCircle_Click(object sender, System.EventArgs e)
{
aCommand=creCircle;
}
private void mnuArc_Click(object sender, System.EventArgs e)
{
aCommand=creArc;
}
private void mnuText_Click(object sender, System.EventArgs e)
{
aCommand=creText;
}
private void mnuMove_Click(object sender, System.EventArgs e)
{
aCommand=trMove;
}
private void mnuRotate_Click(object sender, System.EventArgs e)
{
aCommand=trRotate;
}
private void mnuMirror_Click(object sender, System.EventArgs e)
{
aCommand=trMirror;
}
protected override void OnMouseDown(MouseEventArgs e)
{
Graphics g=this.CreateGraphics();
PointF aPos=m.PagetoWorld(new PointF(e.X, e.Y));
if (e.Button==MouseButtons.Left)
{
aCommand.LButtonDown(g,aPos,ges,geSels);
}
else if(e.Button==MouseButtons.Right)
{
aCommand.RButtonDown(g,aPos);
}
}
protected override void OnMouseMove(MouseEventArgs e)
{
Graphics g=this.CreateGraphics();
PointF aPos=m.PagetoWorld(new PointF(e.X, e.Y));
statusBar1.Panels[0].Text = "X=" + aPos.X + ", Y=" + aPos.Y;
aCommand.MouseMove(g,aPos);
}
private void mnuDelete_Click(object sender, System.EventArgs e)
{
Graphics g = this.CreateGraphics();
for (int i = 0;i<=geSels.Count - 1;i++)
{
((CGElement)(geSels[i])).Draw(g, DrawMode.Delete);
ges.Remove(geSels[i]);
}
geSels.RemoveRange(0, geSels.Count);
}
private void mnuSelect_Click(object sender, System.EventArgs e)
{
aCommand=sel;
}
private void mnuSelAll_Click(object sender, System.EventArgs e)
{
Graphics g= this.CreateGraphics();
for (int i = 0;i<ges.Count;i++)
{
geSels.Add(ges[i]);
}
m.DrawSel(g,geSels);
}
private void mnuDesel_Click(object sender, System.EventArgs e)
{
Graphics g= this.CreateGraphics();
for (int i = 0;i<geSels.Count;i++)
{
((CGElement)(geSels[i])).Draw(g, DrawMode.Normal );
}
geSels.RemoveRange(0, geSels.Count);
}
private void mnuRect_Click(object sender, System.EventArgs e)
{
aCommand=creRect;
}
private void mnuSave_Click(object sender, System.EventArgs e)
{
SaveFileDialog dlg=new SaveFileDialog();
dlg.Filter="CAD文件 (*.CAD)|*.CAD|所有文件 (*.*)|*.*";
dlg.ShowDialog(this);
string FileName=dlg.FileName;
FileStream stream=new FileStream(FileName, FileMode.Create);
BinaryFormatter binary=new BinaryFormatter();
binary.Serialize(stream, ges);
stream.Close();
}
private void mnuOpen_Click(object sender, System.EventArgs e)
{
Graphics g = this.CreateGraphics();
OpenFileDialog dlg=new OpenFileDialog();
dlg.Filter="CAD文件 (*.CAD)|*.CAD|所有文件 (*.*)|*.*";
dlg.ShowDialog(this);
string FileName=dlg.FileName;
FileStream stream=new FileStream(FileName, FileMode.Open);
BinaryFormatter binary =new BinaryFormatter();
ges = (ArrayList)(binary.Deserialize(stream));
stream.Close();
m.DrawAll(g,ges);
}
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if (e.Button==btnOpen)
{
mnuOpen_Click(sender, e);
}
else if (e.Button==btnSave)
{
mnuSave_Click(sender, e);
}
else if (e.Button==btnSelect )
{
mnuSelect_Click(sender, e);
}
else if (e.Button==btnDelete )
{
mnuDelete_Click(sender, e);
}
else if (e.Button==btnLine )
{
mnuLine_Click(sender, e);
}
else if (e.Button==btnRectangle )
{
mnuRect_Click(sender, e);
}
else if (e.Button ==btnCircle )
{
mnuCircle_Click(sender, e);
}
else if (e.Button==btnArc )
{
mnuArc_Click(sender, e);
}
else if (e.Button==btnText )
{
mnuText_Click(sender, e);
}
else if (e.Button==btnMove )
{
mnuMove_Click(sender, e);
}
else if (e.Button==btnRotate )
{
mnuRotate_Click(sender, e);
}
else if (e.Button==btnMirror )
{
mnuMirror_Click(sender, e);
}
else if (e.Button==btnZoomIn )
{
mnuZoomIn_Click(sender, e);
}
else if (e.Button==btnZoomOut )
{
mnuZoomOut_Click(sender, e);
}
else if (e.Button==btnHelp )
{
mnuAbout_Click(sender, e);
}
}
private void mnuZoomIn_Click(object sender, System.EventArgs e)
{
Graphics g = this.CreateGraphics();
m.ScaleZoom(g, 1.2f, 1.2f,geSels);
}
private void mnuZoomOut_Click(object sender, System.EventArgs e)
{
Graphics g = this.CreateGraphics();
m.ScaleZoom(g, 0.8f, 0.8f,geSels);
}
private void mnuAbout_Click(object sender, System.EventArgs e)
{
About about=new About();
about.ShowDialog(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -