2017-06-06 75 views
2

我正在開展一個學校項目。C# - 使用可定製的矩形創建X軸和Y軸

目標是創建帶有數字的X和Y軸,該部分是我可以處理的。

問題是,我必須創建numericUpDowns,這將允許我在特定大小的特定X軸和Y軸上創建矩形。大小和位置由numericUpDowns控制。我可以使用一些幫助,因爲我不知道任何可以連接兩者的命令。

此外,如果有一種方法讓軸上的數字重複自己,而不必單獨寫它,那麼我也可以使用它。

How it should look

 public void tvary(float x, float y, float polomer, Graphics gr) 
     { 

     gr.DrawEllipse(Pens.Black, x, y, polomer, polomer); 
     gr.DrawEllipse(Pens.Black, x - 15, y - 15, polomer * 2, polomer * 2); 
     gr.DrawEllipse(Pens.Black, x - 30, y - 30, polomer * 3, polomer * 3); 

     gr.DrawRectangle(Pens.Red, x-30, y-30, polomer * 3, polomer * 3); 
     } 

眼下矩形的X和Y位置都寫在代碼本身。我想通過使用圖3中顯示的numericUpDows來移動矩形。 問題是我不知道該怎麼做。

不幸的是,我目前無法發佈超過1張照片。

+0

一些可能會幫助我們排除故障 –

+0

@ chris-crush-code – Chernarussian

+0

@ChristopherKyleHorton – Chernarussian

回答

1

NumericUpDownValueChanged ActionEvent。因此,每次當您更改NumericUpDown方法中的值時,該操作都將執行。您只需在ActionEvent的方法中調用繪製矩形的方法即可。所以你需要發送x和y的參數。首先,你需要把它從NumericUpDown

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
{ 
    int x = Convert.ToInt16(numericUpDown1.Value); 
    int x = Convert.ToInt16(numericUpDown2.Value); 
    tvary(x, y, polomer, gr); 
} 

代碼是第二numericUpDown相同。

PS:你可以把numericUpDown控制的起始值。

+0

你能描述一下它的工作原理嗎?不幸的是我得到了很多錯誤。它說它不存在於實際環境中。我需要單獨申報嗎? – Chernarussian

+0

雙擊一個'numericUpDown',你會得到你可以編寫代碼的方法 - private void numericUpDown1_ValueChanged(object sender,EventArgs e) {} – MiOnIs

+0

我仍然不知道我做錯了。 – Chernarussian