我真的需要一些幫助。我試圖創建一個類似於遊戲的程序,名爲「連接點」,其中您有點(1 ... n + 1)的數字,並且您需要將它們與線連接起來。 所以我有一個面板,我從文件中讀取點的座標。但我卡住了,因爲我無法弄清楚如何將點與線連接起來。按順序連接點
要總結一下我想做的事:
- 你按點1,你按點2,他們用線連接起來,否則他們不連接。
- 而且您需要按從1到n + 1的順序將點連接起來。 我希望你能理解我。坦克提前了很多!
private void panel1_Paint(object sender, PaintEventArgs e)
{
List<String> pav1;
pav1 = new List<String>();
StreamReader datafile = new StreamReader("pav1.txt");
int[] X = new int[100];
int[] Y = new int[100];
int k = 0;
string line;
while (datafile.Peek() >= 0)
{
line = datafile.ReadLine();
X[k] = Int16.Parse(line);
line = datafile.ReadLine();
Y[k] = Int16.Parse(line);
k++;
}
datafile.Close();
Brush aBrush = (Brush)Brushes.Black;
for (int i = 0; i < k; i++)
{
e.Graphics.FillEllipse(aBrush, X[i], Y[i], 10, 10);
e.Graphics.DrawString((i + 1).ToString(), new Font("Arial", 10),
System.Drawing.Brushes.Gray, new Point(X[i] + 20, Y[i]));
}
}
步驟1)用'List'替換數組以獲得更大的靈活性並創建一個'List ListOfPoints'。 Step2)添加一個'ListOfPoints.Add([new Point(Xk],Y [k]));'Step 3)添加'e.Graphics.DraLines(Pens.Red,ListOfPoints。ToArray()' –
TaW
TaW,對不起,隊友不知道該怎麼做。我可以更改列表,但我的問題是如何畫線和連接點。我卡在哪裏 – Luna
要繪製一條線,請使用'Graphics.DrawLine'。繪製幾行使用'Graphics.DrawLines'。另外:__reading數據應該只發生一次___或每當數據__change__,而不是在Paint事件中! – TaW