C#プログラミングの質問フォーム、ダイアログボックス、メニュープログラム-線や円を描くためのプログラム

トピック:グラフィックプログラムを完了します。フォントメニューからフォントを選択し、カラーメニューから色を選択し、フォームに絵を描き、テキストの説明を出力します。Drawメニューには、Draw LineとDraw Circleの2つのメニュー項目があります。

詳細は図に示されていここに画像の説明を挿入
ます。この質問にはいくつかの重要な点があります
。1つは、描画する円と線にフォントと色を転送する場合、この値はグローバル変数である必要があります。そうでない場合、
ToolStripMenuItem_Click_1()メソッドに転送できません。
2つ目は、「円」メニューと「線」メニュー
クリックして、描画の効果を得るために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