我正在做一个学校项目。

目的是用数字创建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控件添加起始值。

10-08 14:49