[英]c# Matrix of pictureBox
我正在为 windows 手机开发一款益智游戏。 目的是将一幅图像分割成九个部分并重新排列得到原始图像。 这些分割图像放在图片框上,这些图片框重新分布在 3X3 单元的矩阵中。
用户移动这些单元格以将它们排列在正确的 position 中(这是一个益智游戏。)。
我需要一些东西来访问这些图片框并知道它们在矩阵中的位置。 假设我需要更新第 1 行第 2 列的图像(这只是一个示例)。
在 C++ 中,我使用指针来引用 object,但我不知道如何使用 C# 来实现。
有什么建议吗?
谢谢!
只需使用包含对 PictureBox 的引用的对象创建矩阵。
MyObject[,] layout = new MyObject[3,3];
public class MyObject
{
#region attributes
private PictureBox pictureBox;
#endregion
public MyObject(PictureBox pictureBox)
{
this.pictureBox = pictureBox;
}
}
//This is a reference object
MyCustomObject o1 = new MyCustomObject(imageUrl, row, col);
因此,从我的示例中,我创建了一个自定义 object,它包含图像的 url 以及行和列引用。
然后我可以打电话:
int row = o1.Row;
int col = o1.Col;
string imageUrl = o1.ImageUrl;
然后,您可以按照自己的意愿使用。
希望这可以帮助:
安德鲁
一种可能的方法是构建一个拼图 class ,它将包含对图像的引用,它是当前的 position 和它的目标 position。
public class PuzzlePeice
{
public Bitmap Image {get; }
puliic Point Position {get; set; }
public Point TargetPosition {get; };
}
然后假设 peice 是上述 class 的一个实例,移动 peice 将如下所示:
peice.Postion = new Point(x,y);
TargetPosition 指示 peice 在矩阵中的位置以形成正确的图像,该值当然来自您获得拼图信息的任何数据源,并且可以在构造函数中设置
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.