在构造函数初始化函数之后调用了自己写的画图函数,可以确定函数执行了,但是没有图像,感觉是没有指定父容器的原因,代码如下:
namespace firstAPP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
draw();
}
private void draw()
{
Graphics g = this.CreateGraphics();
SolidBrush yellowBrush = new SolidBrush(Color.LightGoldenrodYellow);
Point[] pointD = { new Point(100, 350), new Point(600, 350), new Point(600, 700), new Point(100, 700) };
g.FillPolygon(yellowBrush, pointD);
}
}
}
还请指点一下,先谢过了
namespace firstAPP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
draw();
}
private void draw()
{
Graphics g = this.CreateGraphics();
SolidBrush yellowBrush = new SolidBrush(Color.LightGoldenrodYellow);
Point[] pointD = { new Point(100, 350), new Point(600, 350), new Point(600, 700), new Point(100, 700) };
g.FillPolygon(yellowBrush, pointD);
}
}
}
还请指点一下,先谢过了
解决方案 »
- 东软生成器?生成的代码2个关联实体加入怎么弄?
- 将这段C代码改写成c#代码
- 102524 和222如何转换成时间格式
- 急:求助,如何实现"文件上传"只是局部刷新
- 关于datatable的问题
- 等N久都未有人能解答的问题,保存表格
- 在C#中,那个控件可以实现将button“归类化”!
- 我的数据库表中的数据怎么填充不到listview中去
- 急求 C# Netron二次开发滴问题```大侠们帮帮我吖` 狠急
- Clipboard.ContainsData()与 cdata.GetDataPresent()两个函数的区别是什么?
- 大家好,问个WPF页面i切换的问题
- c#.NET代码转换到vb.net中的三个问题。....
{
e.Graphics.DrawLine(System.Drawing.Pens.Red, 1, 1,
50, 50);
}
你要不要试下这个
Graphics g = this.CreateGraphics();是什么东西?少年,你自己知道你画到哪去了吗?
{
draw();
}
可以在窗口的第一次显示事件里画,可以看出来。但是不建议你这么做,因为绘画的区域更新后画的东西会刷掉,像一楼说的,在paint事件里面,用e.Graphics画才是正确的。
也可以重写OnPaint事件帮LZ理一下graphics的相关概念
1.你要画东西,首先要知道画在哪里,在你这个需求里就是Form里了。
2.通过什么东西去画? 必须是graphics了,我想这个LZ也可以理解。
3.通过1,2可以知道,我需要得到form的graphics,然后再实现画的逻辑,那么怎么得到graphics? LZ你的方法是可以得到graphics的。4.问题来了,为啥LZ要画的东西没出来呢。其实画是画了,只是form在加载以后被触发了重画,所以构造函数里的画的逻辑就没了,因为构造函数只执行一次。5.然后怎么办?.net里面,控件触发了重画一定会调用OnPaint方法,或者给了一些事件,就像2楼,那么解决方案就是在OnPaint里面画,或者2楼一样在事件里画。