Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数组中存储文件名、位置和大小,以记住图像中的选择矩形_C#_Arrays_.net_List - Fatal编程技术网

C# 在数组中存储文件名、位置和大小,以记住图像中的选择矩形

C# 在数组中存储文件名、位置和大小,以记住图像中的选择矩形,c#,arrays,.net,list,C#,Arrays,.net,List,我有两个面板。第一个面板显示图像文件的列表。当用户选择一个文件时,它会显示在右面板的图片框中。允许用户在图像中选择一个区域。我需要保存此选择以备将来使用,即再次选择此图像时显示选择。 我打算使用具有多种数据类型的数组 [Filename(string),Location(Point),Size(Size)] 这个方法行吗?有没有更好的方法来解决这个问题?我想说,这里要做的正确的事情是首先定义一个类来存储与单个picturebox关联的状态: class PictureboxState {

我有两个面板。第一个面板显示图像文件的列表。当用户选择一个文件时,它会显示在右面板的图片框中。允许用户在图像中选择一个区域。我需要保存此选择以备将来使用,即再次选择此图像时显示选择。 我打算使用具有多种数据类型的数组

[Filename(string),Location(Point),Size(Size)]

这个方法行吗?有没有更好的方法来解决这个问题?

我想说,这里要做的正确的事情是首先定义一个类来存储与单个picturebox关联的状态:

class PictureboxState
{
  public string Filename { get; set }
  public Point Location { get; set; }
  public Size Size { get; set; }
}

然后保留该类的实例数组;或者更好的是,一个字典,其中键是picturebox(或者可以识别picturebox的其他东西),值是状态对象。

键可以是fullfilepath,因为它对于每个选择都是唯一的。请参见以下简单示例:。这里的答案或多或少说明了什么。您需要一个专门的类,它可以保存存储、序列化和恢复选择键值所需的所有信息。这里的注释可能很有趣。此外,您可以使用Jpeg元数据永久保存参数。