gpt4 book ai didi

c# - 移动图片框元素

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:16 25 4
gpt4 key购买 nike

谁能告诉我如何移动图片框中的元素?

这是它的样子:

例如,我有元素 4 4 1 3(第一行)。我如何切换元素 1 和 3?

代码如下:

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (numbers == null)
{
return;
}
int xMaxCoordinate = numbers.GetLength(0);
int yMaxCoordinate = numbers.GetLength(1);

int xVieniba = pictureBox1.Width / xMaxCoordinate;
int yVieniba = pictureBox1.Height / yMaxCoordinate;

Pen _pen = new Pen(Color.White, 1F);
Font fonts = new Font("Times New Roman", 10);
Brush brush = new SolidBrush(Color.Black);

for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
e.Graphics.DrawString(numbers[i, j].ToString(), fonts, brush, i * xVieniba, j * yVieniba);
}
}
for (int i = yVieniba; i < pictureBox1.Height; i += yVieniba)
{
e.Graphics.DrawLine(_pen, 0, i, pictureBox1.Width, i);
}
for (int i = xVieniba; i < pictureBox1.Width; i += xVieniba)
{
e.Graphics.DrawLine(_pen, i, 0, i, pictureBox1.Height);
}

}

最佳答案

我会创建一个方法来绘制接受二维数组的图片框网格,以存储任何红色方 block 的坐标和值。为了更改一个数字(或切换两个数字),我只需修改数组并重新绘制图片框

编辑:有更简单的方法吗?

如果你只是想玩玩并创建一个简单的游戏,我认为根据需要创建尽可能多的 PictureBox 会更容易,使用 BackgroundColor 红色和Tag 属性设置为其编号(3、4、4、1 等)。

然后将它们彼此靠近,创建并填充一个 TableLayoutPanel,然后在其角落绘制每个 PictureBoxTag 属性。

或者,您也可以使用 Label,使用 Autosize = False 和特定大小,只需在其中写下数字,就更容易了。

之后,您可以轻松地处理每个图片框/标签上的点击事件,从标签/文本属性中获取值,并可能更改点击时的背景颜色。在第 2 次单击时,您在两个图片框/标签中重新绘制数字并将颜色重置为红色,给人的印象是它们被切换了

关于c# - 移动图片框元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com