题目:完成图示程序:通过字体菜单选择字体,通过颜色菜单选择颜色,在窗体中画图并输出文字说明。画图菜单包括两个菜单项:画线、画圆。
具体如图所示:
这一题有几个关键地方
其一是,想把字体和颜色传送进你画出的圆和线,那这个值需要是个全局变量,否则无法传送进
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!!新人原创太难了!!