| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1375 人关注过本帖
标题:[求助]请问:高手呢,再给点建议呀!
取消只看楼主 加入收藏
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
 问题点数:0 回复次数:9 
[求助]请问:高手呢,再给点建议呀!
我原来在groupBox中定义了一个graphics对象,在timer_tick中画图,结果总报错:参数错误异常。
各位高手有什么好见意?先谢了。

[此贴子已经被作者于2007-9-12 16:02:36编辑过]

搜索更多相关主题的帖子: 画图 
2007-09-12 08:39
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
回复:(virusswb)你定义一个画图方法,然后在timer_...

谢谢你的答复。问题是不能在groupBox7中画图,如果是在Form1中定义graphics对象,那么是可以的。但是我想在groupBox7中画图。再帮我想想?怎么解决?谢谢!

public partial class Form1 : Form
{
PortControl MB = new PortControl();
Graphics g;

public Form1()
{
InitializeComponent();

}

private void groupBox7_Paint(object sender, PaintEventArgs e)
{
g = e.Graphics;
......

}
private void timer1_Tick(object sender, EventArgs e)
{
.......
g.DrawLine(new Pen(new SolidBrush(Color.Red), 1), 25,41,12,19);//报错:参数错误
.......
}

[此贴子已经被作者于2007-9-12 12:41:00编辑过]

2007-09-12 12:38
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
能否解释解释?学习一下
2007-09-12 14:27
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
回复:(jacklee)FROMHANDLE的意思是从对象上得到绘图...
谢谢。
2007-09-12 14:35
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
回复:(jacklee)呵呵,客气,研究出来了?

嗨,还是没搞明白怎么做,总是编译出错,能否写的祥细点呀,或者有没有例程?刚接触高级语言编程,一头雾水。

2007-09-12 15:34
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
回复:(jacklee)你是不是我群里面的?刚才讨论的问题...
不是的,我到这个论坛不久,是新手。看来我的问题还有共性的,我不在你的群里,你们讨论出解决方法,请在这里回复一下,让我也知道。谢了,等待中.....

[此贴子已经被作者于2007-9-12 16:06:40编辑过]


2007-09-12 16:04
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
以下是引用jacklee在2007-9-12 16:07:10的发言:
画图的方法和思路搞清一下。
1定义GRAPHICS对象 (GRAPHICS G;)
2为GRAPHICS对象关联一个句柄。 (G=GRAPHICS。FROMHANDLE(GROUP。HANDLE);)
3绘图 G。DRAWLINE(。。。);
4消灭GRAPHICS对象,达到去除内存使用空间 (G。DISPOSE();)





按你的意思,程序应该是这样写吗?

public partial class Form1 : Form
{
Graphics g;

public Form1()
{
InitializeComponent();

}

private void groupBox7_Paint(object sender, PaintEventArgs e)
{
//g = GRAPHICS。FROMHANDLE(groupBox7.HANDLE);//内存不足
......

}
private void timer1_Tick(object sender, EventArgs e)
{
//g = GRAPHICS。FROMHANDLE(groupBox7.HANDLE);//内存不足
g.DrawLine(new Pen(new SolidBrush(Color.Red), 1), 25,41,12,19);
g。DISPOSE();)
.......
}



[此贴子已经被作者于2007-9-12 16:34:30编辑过]

2007-09-12 16:21
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 

为什么总说是内存不足,无论是在timer_tick中还是在groupBox7的onPaint中定义,都是这样。我用的2005

2007-09-12 16:30
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
回复:(jacklee)天,你注意大小写啊。DISPOSE()要...

注意大小写,什么意思?我这里只是表示一下,其实我是这样写的:
public partial class Form1 : Form
{
Graphics g;

public Form1()
{
InitializeComponent();

}

private void groupBox7_Paint(object sender, PaintEventArgs e)
{
//g = Graphics.Graphics.FromHdc(groupBox7.Handle );;//内存不足
......

}
private void timer1_Tick(object sender, EventArgs e)
{
//g = Graphics.Graphics.FromHdc(groupBox7.HANDLE);//内存不足
g.DrawLine(new Pen(new SolidBrush(Color.Red), 1), 25,41,12,19);
g.Dispose();
 
}

2007-09-12 22:15
vipweiwei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
收藏
得分:0 
问题解决了,查了一下MSDN,原来在其他已有的控件上画图,要用creatgraphic函数。
2007-09-13 10:09
快速回复:[求助]请问:高手呢,再给点建议呀!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050730 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved