【问题标题】:imagelist images not available in child form .net winformimagelist 图像在子窗体中不可用 .net winform
【发布时间】:2015-03-05 17:39:43
【问题描述】:

我有一个 dll,其中包含一个被其他表单继承的表单。父窗体有一个图像列表,其中包含多个图像,其中两个用于工具栏按钮。它已经工作了很长时间,但我不得不添加一个工具栏按钮和一个图像来配合它。

带有新图像的新按钮在基本表单中正确显示在设计器中,但在现有子表单中,该按钮不会显示在设计器的工具栏中(尽管它在运行时显示没有图像) .在子表单中,图像列表与所有原始图像一起出现,但我添加到基本表单的新图像没有出现在其中。

我尝试了几个不同的图标,结果相同。有趣的是,当我将新的 tb 按钮指向一直存在的图像之一时,孩子的一切都很好。它只是不会处理任何新图像(我尝试过图标和位图)。我会尝试删除工具栏和图像列表并重新创建它,但不幸的是我不知道现有图像的位置以便能够将它们添加回新的图像列表。

(VS 2010,VB.NET - 但最欢迎 C# 答案!)

【问题讨论】:

  • “我不知道现有图像的位置” - 也许这是关键?如果新添加的图像使用相对路径引用,则可能是路径问题..
  • 一旦我通过 imagelist 设计器对象从文件夹中选择了一个图像文件,我在源文件中的任何位置都看不到任何文件位置记录。我一直假设 VS 会在那里导入文件并将其存储在项目中的某个位置,但我不知道。
  • 尝试将图像作为资源添加到项目中并在设计器中引用它..
  • 很遗憾,这不起作用。

标签: winforms imagelist


【解决方案1】:

我也有同样的问题。我的父表单有一个图像列表,我用它来展示我自己的控制框(最小、最大、关闭)。所有子表单都继承自这个表单,如果我不更改列表的元素,一切都很好。但是当我添加元素或更改控件按钮的图像索引时,这不会反映在子窗体中。遗憾的是我还没有修复它,但我所做的是:

  1. 在父窗体的设计器中将图像列表声明为公开
  2. 确定不反映所需更改的表单
  3. 通过将图像添加到继承的 IMageLIst 并更改所有表单中的图像索引来手动设置所需的更改

这不是我打算通过设计父表单来做的,但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    相关资源
    最近更新 更多