看板 C_Sharp 關於我們 聯絡資訊
※ 引述《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