我正在做一个学校项目。
目标是用数字创建 X 轴和 Y 轴,这是我可以处理的部分。
问题是,我必须创建 numericUpDowns,这将允许我在特定的 X 轴和 Y 轴上创建具有特定大小的矩形。大小和位置由 numericUpDowns 控制。我可以使用一些帮助,因为我不知道可以连接两者的任何命令。
此外,如果有一种方法可以让轴上的数字自行重复,而无需我单独编写,那么我也可以使用它。
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
Action 事件。因此,每次更改 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
控件设置起始值。
关于C# - 使用可自定义的矩形创建 X 轴和 Y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44397971/