作者pericles (吼~)
看板C_Sharp
标题Re: [问题] mouseclick问题
时间Wed Apr 21 16:54:42 2010
※ 引述《dreamday1023 (也许我就是我,好好爱自己)》之铭言:
: private int []x;
: private int []y;
: private void Form1_mouseclick(object sender,mouseeventarge e)
: {
: m++;
: x=new int[m];
: y=new int[m];
: for(int i=0;i<m;i++)
: {
: x[i]=e.X;
: y[i]=e.Y;
: }
: label1.text=Convert.ToString(x[0]);
: }
看了一下你的程式,我先假设以下两点
1. m 是全域变数
2. 在 Form 上点一下滑鼠就记录该点座标
每次点一下滑鼠就由x、y阵列的第0个元素开始全改成目前的座标,这是很诡异的事
从这里我没办法反推需求,所以.......再假设你是要将每个点都存起来....
那上面那段程式里的回圈就不需要了,直接改x、y阵列里的第m元素为你当前滑鼠点的
座标就对了。
private void Form1_mouseclick(object sender,mouseeventarge e)
{
m++;
x=new int[m];
y=new int[m];
x[m]=e.X;
y[m]=e.Y;
label1.text=Convert.ToString(x[0]);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.177.139
1F:推 F23ko:用阵列存这种东西,爆掉是迟早的事,我比较建议用LIST 04/21 17:36
2F:→ pericles:List 并不会比较省记忆体吧?? 04/21 18:10
3F:→ AmosYang:x=new int[m];y=new int[m]; 这两行就错了 04/21 18:23
4F:→ pericles:是是是!我错了! 04/21 18:37
5F:推 F23ko:安全问题,再要不然,记得检查m,不要让他超过阵列索引 04/21 18:39
6F:推 dreamday1023:直接存 是不是不会阵列方式不对阿 04/22 02:16
7F:→ dreamday1023:因为当m=1时 x,y应该都是m维的阵列 那x[m=1]这样应 04/22 02:18
8F:→ dreamday1023:该不对吧 04/22 02:18
9F:推 F23ko:是不是不会阵列方式不对阿 ← 这段话是什麽意思? = = 04/22 06:19
10F:→ pericles:那我想你懂重点了,改m-1就对 04/22 09:25