问题描述
如下面的初始化代码所示,在界面上添加了一个pictureBox的控件,想在上面初始化画图,运行不显示所画的图片。publicGraphicsg1;publicForm1(){InitializeComponent();g1=pictureBox1.CreateGraphics();g1.DrawRectangle(newPen(Color.Red),10,10,20,20);Penp=newPen(Color.Red,2);//定义了一个蓝色,宽度为的画笔g1.DrawLine(p,10,10,100,100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)g1.DrawRectangle(p,10,10,100,100);//在画板上画矩形,起始坐标为(10,10),宽为,高为g1.DrawEllipse(p,10,10,100,100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为}
解决方案
本帖最后由 u010255289 于 2015-07-17 20:02:27 编辑
解决方案二:
没有加到Controls中去,是不会显示的
解决方案三:
引用1楼xuzuning的回复:
没有加到Controls中去,是不会显示的
请教,怎么加到Controls中去?
解决方案四:
引用1楼xuzuning的回复:
没有加到Controls中去,是不会显示的
我在下面代码中增加了一句,还是不显示图画,我看有人是新建了pictureBox,我这个是设计器中就添加了pictureBox控件的,名字就是pictureBox1publicGraphicsg1;publicForm1(){InitializeComponent();this.Controls.Add(pictureBox1);g1=pictureBox1.CreateGraphics();g1.DrawRectangle(newPen(Color.Red),10,10,20,20);Penp=newPen(Color.Red,2);//定义了一个蓝色,宽度为的画笔g1.DrawLine(p,10,10,100,100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)g1.DrawRectangle(p,10,10,100,100);//在画板上画矩形,起始坐标为(10,10),宽为,高为g1.DrawEllipse(p,10,10,100,100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为//pictureBox1.Show();//}
解决方案五:
引用1楼xuzuning的回复:
没有加到Controls中去,是不会显示的
加上下面的代码,我把鼠标移动到pictureBox1的范围内,就马上画出了相应的图片。。。privatevoidpictureBox1_MouseMove(objectsender,MouseEventArgse){g1=pictureBox1.CreateGraphics();g1.DrawRectangle(newPen(Color.Red),10,10,20,20);Penp=newPen(Color.Red,2);//定义了一个蓝色,宽度为的画笔g1.DrawLine(p,10,10,100,100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)g1.DrawRectangle(p,10,10,100,100);//在画板上画矩形,起始坐标为(10,10),宽为,高为g1.DrawEllipse(p,10,10,100,100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为//pictureBox1.Show();}
解决方案六:
放到paint事件里面去吧