作者Piner (追忆似水年华)
看板Programming
标题[问题] C#程式码一样 自己的就是不跑
时间Sat Nov 21 18:43:57 2009
大家好,我自己看书学VC#,刚学两天
碰到两个问题,对照程式码跟书上完全一样
也没有侦测到错误,可是我的就是不跑,书上光碟范例会跑
不知道是不是PaintEventArgs的问题
因为两个错误都有用到这个函式
我把我的整个专案上传了
http://rapidshare.de/files/48715036/C.zip.html
底下是我的程式码,可以请高手指导我一下吗?
谢谢!
一、这是要让滑鼠点就会出现图形的
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Point[] pt = new Point[100];
int pt_index = -1;
Image img = Properties.Resources.STBZ055;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (pt_index < pt.Length)
{
pt_index++;
pt[pt_index] = new Point(e.X, e.Y);
}
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
for (int i = 0; i <= pt_index; i++)
{
e.Graphics.DrawImage(img,
pt[i].X - img.Width / 2, pt[i].Y - img.Height / 2,
img.Width, img.Height);
}
}
}
}
二、这是要跑出直线的程式
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
for (int i = 1; i <= 20; i++)
{
if (i % 2 == 0)
e.Graphics.DrawLine(Pens.Red, i * 20, 30, i * 20, 100);
else
e.Graphics.DrawLine(Pens.Black, i * 20, 50, i * 20, 100);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.153.192
1F:→ karcher:check 一下你的Form1.paint ... 114.25.178.27 11/21 19:37
2F:→ Piner:怎麽作? 61.219.153.192 11/21 19:47
3F:→ hotdogee:检查Form1的paint事件有没有设handler 118.169.196.7 11/21 20:01
4F:→ hotdogee:如果Form1_Paint是手动打上去的那8成没有 118.169.196.7 11/21 20:02
5F:→ Piner:手打的ㄟ 那我要怎麽设定? 61.219.153.192 11/21 20:06
6F:→ hotdogee:有很多方法 你可以手打 或是用IDE产生 118.169.196.7 11/21 20:12
7F:→ Piner:有没有教学网站或文章呢 sorry我非二类的 61.219.153.192 11/21 20:13
8F:→ Piner:只有看书学两天而已 刚起步 61.219.153.192 11/21 20:14
9F:→ hotdogee:到Form1的属性视窗 按上方的闪电按钮切到 118.169.196.7 11/21 20:14
10F:→ hotdogee:Event模式 找到Paint事件 填入 118.169.196.7 11/21 20:15
11F:→ hotdogee:Form1_Paint。 或是直接在空白处按两下 118.169.196.7 11/21 20:16
12F:→ Piner:啊哈 可以了可以了 哈哈哈 谢谢谢谢!Y 61.219.153.192 11/21 21:00