1

我正在尝试在 Visual Studio 中制作 C# Windows 表单,以便可以在表单上绘图(如 Microsoft Paint 的基本版本)。我正在研究 C# 2012 书中的一个示例。我已经逐字编写了代码,但是当我构建和运行程序时,我实际上无法在表单上绘制任何内容。代码编译成功,没有任何错误。任何人都可以看到可以改进代码的地方,以便我可以成功地在表格上绘制吗?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace paint3
{
public partial class Form1 : Form
{
    bool shouldPaint = false;

    public Form1()  // constructor
    {
        InitializeComponent();
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        shouldPaint = true;
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {
        shouldPaint = false;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        if (shouldPaint)
        {
            using (Graphics graphics = CreateGraphics())
            {
                graphics.FillEllipse(new SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4);
            }
        }
    }
}
}

就 Form1 而言,它只是我在 Visual Studio 2012 中单击“新建 Windows 窗体应用程序”时创建的一个空白表单。我没有在 Form1 中添加任何按钮、文本框或其他控件。

4

2 回答 2

1
 private void Form1_Paint(object sender, EventArgs e)
    {
        if (shouldPaint)
        {
            using (Graphics graphics = CreateGraphics())
            {
                graphics.FillEllipse(new SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4);
            }
        }
    }

我正在尝试在 Visual Studio 中制作 C# Windows 表单,以便可以在表单上绘图(如 Microsoft Paint 的基本版本)。我正在研究 C# 2012 书中的一个示例。

Alex Fr 在他的DrawTools 文章中提供了一套出色的绘图工具,这些工具是Draw Tool Redux的基础。

这是我最近通过添加到 Draw Tool Redux 中编写的一个工具,它为 Mathematica 创建了 Epilogs:

在此处输入图像描述

我从http://www.codeproject.com/Articles/36540/Adobe-Eyedropper-Control获得的 EyeDropper 颜色选择器

我得到的透明文本框:http: //www.codeproject.com/Articles/4390/AlphaBlendTextBox-A-transparent-translucent-textbo

于 2013-06-19T02:46:53.810 回答
1

尝试绘制绘图事件。会帮助你。该链接只是一个示例。您需要根据要求实施

于 2013-06-19T03:35:11.173 回答