C#编程题-窗体、对话框和菜单-画线画圆程序

题目:完成图示程序:通过字体菜单选择字体,通过颜色菜单选择颜色,在窗体中画图并输出文字说明。画图菜单包括两个菜单项:画线、画圆。

具体如图所示:在这里插入图片描述
这一题有几个关键地方
其一是,想把字体和颜色传送进你画出的圆和线,那这个值需要是个全局变量,否则无法传送进
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!!新人原创太难了!!

猜你喜欢

转载自blog.csdn.net/NikoHsu/article/details/105770603
今日推荐