📄 winmain.tool.cs
字号:
break;
case ToolType.Eraser:
eraserTool = new EraserTool(this.canvasMain);
eraserTool.DrawingFinished += new EventHandler(this.SaveCanvas);
break;
case ToolType.Line:
lineTool = new LineTool(this.canvasMain);
lineTool.DrawingFinished += new EventHandler(this.SaveCanvas);
break;
case ToolType.Rectangle:
rectangleTool = new RectangleTool(this.canvasMain);
rectangleTool.DrawingFinished += new EventHandler(this.SaveCanvas);
break;
case ToolType.Text:
textTool = new TextTool(this);
textTool.DrawingFinished += new EventHandler(this.SaveCanvas);
break;
case ToolType.ColorPicker:
colorPickerTool = new ColorPickerTool(this);
break;
case ToolType.PaintBucket:
paintBucketTool = new PaintBucketTool(this.canvasMain);
paintBucketTool.DrawingFinished += new EventHandler(this.SaveCanvas);
break;
}
}
/// <summary>
/// 激活工具
/// </summary>
/// <param name="toolType">工具类型</param>
private void ActivateToolbox(ToolType toolType)
{
switch (toolType)
{
case ToolType.Move:
this.moveToolStripButton.Checked = true;
break;
case ToolType.RectangleSelect:
this.rectangleSelectToolStripButton.Checked = true;
rectangleSelectTool.OnActivate();
break;
case ToolType.EllipseSelect:
this.ellipseSelectToolStripButton.Checked = true;
ellipseSelectTool.OnActivate();
break;
case ToolType.LassoSelect:
this.lassoSelectToolStripButton.Checked = true;
lassoSelectTool.OnActivate();
break;
case ToolType.Pencil:
this.pencilToolStripButton.Checked = true;
pencilTool.OnActivate();
break;
case ToolType.Brush:
this.brushToolStripButton.Checked = true;
brushTool.OnActivate();
break;
case ToolType.Eraser:
this.eraserToolStripButton.Checked = true;
eraserTool.OnActivate();
break;
case ToolType.Line:
this.lineToolStripButton.Checked = true;
lineTool.OnActivate();
break;
case ToolType.Rectangle:
this.rectangleToolStripButton.Checked = true;
rectangleTool.OnActivate();
break;
case ToolType.Text:
this.textToolStripButton.Checked = true;
textTool.OnActivate();
break;
case ToolType.ColorPicker:
this.colorPickerToolStripButton.Checked = true;
colorPickerTool.OnActivate();
break;
case ToolType.PaintBucket:
this.paintBucketToolStripButton.Checked = true;
paintBucketTool.OnActivate();
break;
}
}
/// <summary>
/// 释放工具
/// </summary>
/// <param name="toolType">工具类型</param>
private void DeactivateToolbox(ToolType toolType)
{
switch (toolType)
{
case ToolType.Move:
this.moveToolStripButton.Checked = false;
break;
case ToolType.RectangleSelect:
this.rectangleSelectToolStripButton.Checked = false;
rectangleSelectTool.OnDeactivate();
break;
case ToolType.EllipseSelect:
this.ellipseSelectToolStripButton.Checked = false;
ellipseSelectTool.OnDeactivate();
break;
case ToolType.LassoSelect:
this.lassoSelectToolStripButton.Checked = false;
lassoSelectTool.OnDeactivate();
break;
case ToolType.Pencil:
this.pencilToolStripButton.Checked = false;
pencilTool.OnDeactivate();
pencilTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.Brush:
this.brushToolStripButton.Checked = false;
brushTool.OnDeactivate();
brushTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.Eraser:
this.eraserToolStripButton.Checked = false;
eraserTool.OnDeactivate();
eraserTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.Line:
this.lineToolStripButton.Checked = false;
lineTool.OnDeactivate();
lineTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.Rectangle:
this.rectangleToolStripButton.Checked = false;
rectangleTool.OnDeactivate();
rectangleTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.Text:
this.textToolStripButton.Checked = false;
textTool.OnDeactivate();
textTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
case ToolType.ColorPicker:
this.colorPickerToolStripButton.Checked = false;
colorPickerTool.OnDeactivate();
break;
case ToolType.PaintBucket:
this.paintBucketToolStripButton.Checked = false;
paintBucketTool.OnDeactivate();
paintBucketTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
break;
}
}
/// <summary>
/// 更新工具
/// </summary>
/// <param name="toolType">工具类型</param>
private void UpdateToolbox(ToolType toolType)
{
switch (toolType)
{
case ToolType.Move:
break;
case ToolType.RectangleSelect:
break;
case ToolType.EllipseSelect:
break;
case ToolType.LassoSelect:
break;
case ToolType.Pencil:
pencilTool.BackColor = this.backColor;
pencilTool.ForeColor = this.foreColor;
pencilTool.BrushWidth = this.brushWidth;
break;
case ToolType.Brush:
brushTool.BackColor = this.backColor;
brushTool.ForeColor = this.foreColor;
brushTool.BrushWidth = this.brushWidth;
brushTool.FillStyle = this.hatchStyle;
brushTool.HasBrushStyle = this.hasBrushStyle;
break;
case ToolType.Eraser:
eraserTool.BrushWidth = this.brushWidth;
break;
case ToolType.Line:
lineTool.BackColor = this.backColor;
lineTool.ForeColor = this.foreColor;
lineTool.BrushWidth = this.brushWidth;
break;
case ToolType.Rectangle:
rectangleTool.BackColor = this.backColor;
rectangleTool.ForeColor = this.foreColor;
rectangleTool.BrushWidth = this.brushWidth;
break;
case ToolType.Text:
break;
case ToolType.ColorPicker:
break;
case ToolType.PaintBucket:
paintBucketTool.BackColor = this.backColor;
paintBucketTool.ForeColor = this.foreColor;
break;
}
}
private void moveToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Move);
}
private void rectangleSelectToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.RectangleSelect);
}
private void ellipseSelectToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.EllipseSelect);
}
private void lassoSelectToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.LassoSelect);
}
private void pencilToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Pencil);
}
private void brushToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Brush);
}
private void eraserToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Eraser);
}
private void lineToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Line);
}
private void rectangleToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Rectangle);
}
private void textToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.Text);
}
private void colorPickerToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.ColorPicker);
}
private void paintBucketToolStripButton_Click(object sender, EventArgs e)
{
ToolboxClick(ToolType.PaintBucket);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -