作者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
推 F23ko:用陣列存這種東西,爆掉是遲早的事,我比較建議用LIST 04/21 17:36
→ pericles:List 並不會比較省記憶體吧?? 04/21 18:10
→ AmosYang:x=new int[m];y=new int[m]; 這兩行就錯了 04/21 18:23
→ pericles:是是是!我錯了! 04/21 18:37
推 F23ko:安全問題,再要不然,記得檢查m,不要讓他超過陣列索引 04/21 18:39
推 dreamday1023:直接存 是不是不會陣列方式不對阿 04/22 02:16
→ dreamday1023:因為當m=1時 x,y應該都是m維的陣列 那x[m=1]這樣應 04/22 02:18
→ dreamday1023:該不對吧 04/22 02:18
推 F23ko:是不是不會陣列方式不對阿 ← 這段話是什麼意思? = = 04/22 06:19
→ pericles:那我想你懂重點了,改m-1就對 04/22 09:25