0

我已经搜索了大约 12 个小时,现在试图找到一种在 PictureBox 上绘制点的方法,我发现许多线程给出了示例代码,但我似乎无法完成我想要的。

本质上我想要做的是:

我有一个带有 PictureBox 的 Windows 窗体,PictureBox 中没有任何图像,但是我确实将 BackColor 设置为黑色。我正在尝试创建一个新的位图图像,然后运行代码以创建以下样式的白点:

    ..........
    ..........
    ..........
    ..........

从而在 PictureBox 上给了我一个网格样式的外观。但是,每次尝试我都失败了,所以如果有人可以帮助我了解如何使用它,我将不胜感激。

我最近的尝试是使用 ControlPaint.DrawGrid 方法,如下所示:

private void picBox_Display_Paint(object sender, PaintEventArgs e)
{
    Size size = new Size(35, 35);
    Rectangle rect = new Rectangle(0,0,picBox_Display.Width, picBox_Display.Height);
    ControlPaint.DrawGrid(Graphics.FromHwnd(picBox_Display.Handle), rect, size, Color.White);
}

上面的代码在 PictureBox Paint 事件方法中。我知道它贯穿代码,因为我在方法的末尾有一个断点,但什么也没发生。我不确定我是否理解 ControlPaint.DrawGrid 的工作原理,我应该添加其他内容吗?

我今天早些时候尝试使用 Bitmap.SetPixel 方法,但一直遇到问题,并一直在寻找其他方法来尝试完成它。

任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

为此,您需要使用 e.Graphics。另请注意,调试此类代码可能很困难,因为调试通常会使绘图无效,因此需要重新绘制。最后一个参数是你正在绘制的背景颜色,所以它看起来与你指定的相反。如果你的背景是黑色的,你需要传入 Color.Black

ControlPaint.DrawGrid(e.Graphics, rect, size, Color.Black);
于 2012-09-24T03:47:48.693 回答