Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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# 如何使用图像索引将图像添加到imageList_C#_.net_Imagelist - Fatal编程技术网

C# 如何使用图像索引将图像添加到imageList

C# 如何使用图像索引将图像添加到imageList,c#,.net,imagelist,C#,.net,Imagelist,我是c#的初学者。这是一个小问题。我想用图像索引将图像添加到图像列表中 ilsLargeFlags --> ImageList strFlagPath --> full file path strPetPath --> only file name (gif image) 我尝试了以下代码:(不工作) 在上面的代码中我做错了什么 imageList中已经有8个图像。通过简单的用户界面添加(我不知道它是什么)你最好打电话。在这种情况下,您可以在一个步骤中提供密钥

我是c#的初学者。这是一个小问题。我想用图像索引将图像添加到图像列表中

  ilsLargeFlags  --> ImageList
  strFlagPath --> full file path
  strPetPath  --> only file name (gif image)
我尝试了以下代码:(不工作)

在上面的代码中我做错了什么

imageList中已经有8个图像。通过简单的用户界面添加(我不知道它是什么)

你最好打电话。在这种情况下,您可以在一个步骤中提供密钥名称:

ilsLargeFlags.Images.Add(strPetPath, Image.FromFile(strFlagPath));
更新 使用
ImageList
及其内部
ImageListCollection
将无法设置特定的数字索引(因此它不支持方法。而是使用某种自定义字符串键。如果确实需要图像上的当前索引,则应在使用所需键将其添加到列表后使用该方法:

ilsLargeFlags.Images.Add(strPetPath, Image.FromFile(strFlagPath));
var index = ilsLargeFlags.Images.IndexOfKey(strPetPath);
现在可以使用
SetKeyName()更改键名
方法和检索到的索引,但如果有人要从列表中删除图像,然后再添加另一个图像,则可能会导致键名加倍。因此,最好坚持使用一些键名,并在需要时通过调用
IndexOfKey()从相应的索引中取出

您最好拨打电话。在这种情况下,您可以一步提供密钥名称:

ilsLargeFlags.Images.Add(strPetPath, Image.FromFile(strFlagPath));
更新 使用
ImageList
及其内部
ImageListCollection
将无法设置特定的数字索引(因此它不支持方法。而是使用某种自定义字符串键。如果确实需要图像上的当前索引,则应在使用所需键将其添加到列表后使用该方法:

ilsLargeFlags.Images.Add(strPetPath, Image.FromFile(strFlagPath));
var index = ilsLargeFlags.Images.IndexOfKey(strPetPath);

现在可以使用
SetKeyName()更改键名
方法和检索到的索引,但如果有人要从列表中删除图像,然后再添加另一个图像,则可能会导致键名加倍。因此,最好坚持使用一些键名,并在需要时通过调用
IndexOfKey()从相应的索引中取出

图像没有添加到imageList。我认为上面的代码甚至没有为当前图像提供imageIndex。我错了吗?计算机本身不是按顺序生成图像键吗?例如:如果我将一个图像添加到imageList,其中已经有三个图像,那么新添加的图像的图像索引应该为3(4-1=3)?如果按顺序自动执行,则解决了我的问题。我现在正在尝试。@Mr_Green:ImageList的两种访问方法(按键或按索引)彼此相邻。因此,如果删除列表的第一个图像,则所有其他图像都将获得一个新索引(因为它们永远不会是索引序列中的任何孔)。键不会受到影响,它将保持不变,直到您通过调用
SetKeyName()显式更改它为止
。我当时忘了+1你。这对我来说真的是非常有用的信息。图像没有添加到imageList中。我认为上面的代码甚至没有为当前图像提供imageIndex。我错了吗?计算机本身不是按顺序生成图像键吗?例如:如果我将一个图像添加到imageList中,它已经有三个图像了在其中,新添加的图像的图像索引应为3(4-1=3)?如果它以自动顺序发生,则解决了我的问题。我现在正在尝试。@Mr_Green:两种访问方法(按键或按索引)ImageList中的两个相邻。因此,如果删除列表中的第一个图像,所有其他图像都将获得一个新索引(因为它们在索引序列中永远不会有任何孔)。键不会受到影响,它将保持不变,直到您通过调用
SetKeyName()显式更改它
。我当时忘了+1你。这对我来说真的很有用。我在这里发布了我的方法(也包含索引):我在这里发布了我的方法(也包含索引):