我正在做一个学校项目。
目的是用数字创建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张图片。
最佳答案
NumericUpDown
具有ValueChanged
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
控件添加起始值。