2014-02-06 52 views
0

我想让位图出现在我的窗体中,但它不起作用。位图不会出现在窗体中

我的代码:

private void button2_Click(object sender, EventArgs e) 
{ 
    Graphics g = this.CreateGraphics(); 
    Pen pen = new Pen(Color.Black); 

    Bitmap bitmap = new Bitmap(1000, 1000); 
    Graphics gfx = Graphics.FromImage(bitmap); 
    gfx.Clear(Color.Red); 

    for (int i = 0; i < 5; i++) 
    { 
     gfx.DrawRectangle(pen, i + 50, 50, 50, 50); 
    } 
} 
+2

你为什么不把一个PictureBox放在你的窗体上并分配一个新的位图?借助表格本身会导致各种问题。 – nvoigt

+1

此代码中没有任何内容正在尝试绘制位图。您正在内存位图上绘制矩形,但您不会自己绘制位图。 – DonBoitnott

回答

0

所有代码都做的是绘制成位图,在内存中。您没有任何代码可以在任何位置实际显示该位图。

您可以修改代码以将位图绘制到窗体上,但正如在注释中建议的那样,更好的解决方案是使用PictureBox控件。当您创建位图,您可以分配位图图片框的Image属性:

Bitmap bitmap = new Bitmap(1000, 1000); 
// render bitmap 

pictureBox1.Image = bitmap; 

如果你绝对必须在表格上画,你可以重写窗体的OnPaint方法,并用图形对象的DrawImage()方法在那里呈现你的位图。

+0

谢谢,我已经完成了! – Robin