2017-06-06 101 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