题目:完成图示程序:通过字体菜单选择字体,通过颜色菜单选择颜色,在窗体中画图并输出文字说明。画图菜单包括两个菜单项:画线、画圆。
具体如图所示:
这一题有几个关键地方
其一是,想把字体和颜色传送进你画出的圆和线,那这个值需要是个全局变量,否则无法传送进
ToolStripMenuItem_Click_1()方法里。
其二是,点击“画圆”、“画线”菜单的时候,如何通过
ToolStripMenuItem_Click_1()方法创建Graphic对象,来实现画图的效果
如果这些问题想明白了,这一题也就不难了。
我想了很久,最后实现了功能如图
最后不知道这篇博文有没有人看,有人看的话,在下面点个赞啥的让我知道,我把源码放出来。
源码在这:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace 窗体对话框菜单作业
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Color mycolor = new Color();
Font myfont = new Font("宋体", 16, FontStyle.Regular);
private void 画线ToolStripMenuItem_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen mypen = new Pen(mycolor);
SolidBrush mybrush = new SolidBrush(mycolor);
g.DrawLine(mypen, 0, 0, 500, 500);
g.DrawString("线", myfont, mybrush, 80, 80);
}
private void 画圆ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen mypen = new Pen(mycolor);
SolidBrush mybrush = new SolidBrush(mycolor);
g.DrawEllipse(mypen, 100, 100, 100, 100);
g.DrawString("圆", myfont, mybrush, 100, 100);
}
private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
if (cd.ShowDialog() == DialogResult.OK)
{
mycolor = cd.Color;
}
else
{
mycolor = Color.Black;
}
}
private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog fd = new FontDialog();
if (fd.ShowDialog() == DialogResult.OK)
{
Font myfont = fd.Font;
}
}
}
}
看到这了,点个赞吧QAQ!!新人原创太难了!!