急啊! 为什么我用VC#连一个简单的直线都画不了了呢

li_xiang1102 2011-12-15 02:31:57
我用VS2010的C#编写界面,使用Graphics类画图时,竟然连一个简单的直线都画不出,想了半天都不知道什么原因啊。请各位帮忙看看我错在哪了?

代码如下:

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

namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

Graphics g = this.CreateGraphics();
g.Clear(Color.White);

Pen pen = new Pen(Color.Black,3);

Point point1 = new Point(20, 20);
Point point2 = new Point(20, 40);
g.DrawLine(pen, point1, point2);

}
}
}


编译可以通过,单运行后就是一个界面框 上面没有想要的直线!
小弟是新手,不知道什么原因啊???

谢谢!!!!!
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_xiang1102 2011-12-15
  • 打赏
  • 举报
回复
哦 3Q哈
[Quote=引用 5 楼 ssp2009 的回复:]

网上看到的也不一定对,获取的是窗体的画笔,写再load里不行,窗体加载的时候,自身已经绘制完毕了,所以得在Paint里绘制它自身的时候就画出你要的线
[/Quote]
快溜 2011-12-15
  • 打赏
  • 举报
回复
网上看到的也不一定对,获取的是窗体的画笔,写再load里不行,窗体加载的时候,自身已经绘制完毕了,所以得在Paint里绘制它自身的时候就画出你要的线
li_xiang1102 2011-12-15
  • 打赏
  • 举报
回复
我好像知道了,把画图代码放在Form1_Paint事件中才可以画出

为什么我在书上以及网上看的参考代码一般都没有这样做呢?这个怎么解释呢 请教达人!!!
快溜 2011-12-15
  • 打赏
  • 举报
回复
在Form1_Paint
li_xiang1102 2011-12-15
  • 打赏
  • 举报
回复
我把代码换成了下面的,还是不行呢

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

namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(Color.White);

Pen pen = new Pen(Color.Black, 3);

Point point1 = new Point(20, 20);
Point point2 = new Point(20, 40);
g.DrawLine(pen, point1, point2);
}
}
}
[Quote=引用 1 楼 ssp2009 的回复:]

试试把你的代码放到Form1_Load里执行
[/Quote]
快溜 2011-12-15
  • 打赏
  • 举报
回复
试试把你的代码放到Form1_Load里执行

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧