用C#可视化Windows窗体应用程序制作画板。
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;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap bmp = new Bitmap(430,240);
int OldX, OldY;
Color penColor;
private void Form1_Load(object sender, EventArgs e)
{
Graphics g = Graphics.FromImage(bmp);
penWidth.Value = 1;
penColor = Color.Black;
g.Clear(Color.White);
picImg.Image = bmp;
picImg.Refresh();
}
private void picImg_MouseDown(object sender, MouseEventArgs e)
{
OldX = e.X;
OldY = e.Y;
}
private void picImg_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Graphics g = Graphics.FromImage(bmp);
Pen p = new Pen(penColor, penWidth.Value);
g.DrawLine(p, OldX, OldY, e.X, e.Y);
picImg.Image = bmp;
picImg.Refresh();
p.Dispose();
g.Dispose();
OldY = e.Y;
OldX = e.X;
}
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
dlgOpenFile.ShowDialog();
if (dlgOpenFile.FileName != "")
{
bmp = new Bitmap(dlgOpenFile.FileName);
picImg.Image = bmp;
picImg.Refresh();
this.Text = dlgOpenFile.FileName;
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
dlgSaveFile.ShowDialog();
if (dlgSaveFile.FileName != "")
{
bmp.Save(dlgSaveFile.FileName);
this.Text = dlgSaveFile.FileName;
}
}
private void mnuClearToolStripMenuItem_Click(object sender, EventArgs e)
{
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
picImg.Image = bmp;
picImg.Refresh();
}
private void mnuColorToolStripMenuItem_Click(object sender, EventArgs e)
{
dlgColor.ShowDialog();
penColor = dlgColor.Color;
}
private void mnucloseToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void 结束ToolStripMenuItem_Click(object sender, EventArgs e)
{
保存ToolStripMenuItem_Click(sender, e);
Application.Exit();
}
private void 画笔颜色ToolStripMenuItem_Click(object sender, EventArgs e)
{
mnuColorToolStripMenuItem_Click(sender, e);
}
private void penWidth_Scroll_1(object sender, ScrollEventArgs e)
{
lblPenWidth.Text = "画笔粗细:" + penWidth.Value.ToString();
}
}
}
运行结果: