【问题标题】:Working with ImageList Images使用 ImageList 图像
【发布时间】:2013-08-07 23:03:47
【问题描述】:

对 VS2010 和 c# 有点新。 我继承了一个程序,除此之外,我试图弄清楚所有这些图像列表是如何设置的。 基本上,现在我正在尝试修改一些现有的图像列表以添加更多图像,然后也创建一个全新的图像列表。 不过,我无法弄清楚这是如何工作的。我只能在代码中找到类似

private ImageList fastenersImageList;
private ImageList controlsImageList;

然后是一些对它们的引用,例如

this.ItemPictureBox.BackgroundImage = fastenersImageList.Images[3];

括号中的数字不同。我什至不知道从哪里开始寻找图像!有什么帮助吗?

【问题讨论】:

  • 我会阅读 ImageList 文档,那里也有一些示例 msdn.microsoft.com/en-us/library/…
  • 括号编号是正在检索的图像的索引。调试时,您应该能够查看 ImageList 变量并了解它们有什么
  • 我还会寻找图像添加到列表中的位置。即fastenersImageList.Add();
  • 就是这样,没有ImageList.Add();为了任何东西。我不知道图像是如何添加到列表中的。
  • 检查表单设计器。那里可能添加了一个ImageList,您可以通过“属性”窗口对其进行编辑。

标签: c# visual-studio-2010


【解决方案1】:

您应该能够在代码窗口中右键单击ImageList 变量,然后从上下文菜单中单击查找所有引用。即使它已添加到设计器视图中,它也应该在您执行此操作时显示出来。 某事 必须将图像添加到列表中。但请记住,如果您将 ImageList 传递给函数或将其传递给您正在使用它的类,那么当您执行 Find All References 时,Add 调用可能不会出现strong> - 引用列表仍应显示您的 ImageList 被分配到哪里或您将其传递到哪里。您可能必须按照面包屑的踪迹才能找到您要查找的内容。

如果 ImageList 图像是由 Designer 添加的,您可以在 Designer 本身中查看它们。在显示您正在设计的表单的视图中,底部会有一个栏,其中包含计时器和图像列表等内容。

如果您在设计器视图中单击ImageList,则“属性”窗口的“外观”标题下将有一个“图像”字段。如果您单击旁边的 ... 按钮,它将显示通过设计器添加的图像。

(这些屏幕截图来自 VS2013 Preview,但应该与 2010 相同)。

编辑:我将 Find All References 位移到顶部,因为它确实是您应该尝试的第一件事,但万一图像列表在 Designer 中被编辑,稍后查看此问题的人可能仍会发现屏幕截图很有用,因此我将它们留在那里。

【讨论】:

  • 是的!谢谢,他们来了。它实际上是我正在查看的表单的父表单。
  • 澄清一下,您是通过 Find All References 找到的,对吧?
  • 不,我是使用第一步找到的。部分问题是我找错了地方。 Find All References 没有成功,我只是得到了一堆 controlsImageList.Images.SetKeyName(0,"");
  • 好的,只是想让我的回答对将来看到这个问题的人有用。我会编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-01
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多