【问题标题】:C# TabPage ImageKey not drawingC# TabPage ImageKey 不绘图
【发布时间】:2010-10-04 15:26:53
【问题描述】:

我有一个应用程序在客户帐户上运行测试,以判断他们的服务是否正常工作。在运行测试的过程中,应用程序读取每个测试并检查它是否通过/失败/等等...它在tabPage本身上播放绿色复选标记/红色x作为图像键...图像键被分配为所以

(tabPage as TabPage).ImageKey = "pass.png";

tabPage 实际上是一个传递给函数的对象,因此我可以从不同的方法中引用它。

当 tabPage 的 tabControl 被创建(动态)时,一个 imageList 被添加到 tabControl(这是从中提取图像的地方)。

(tabControl[0] as TabControl).ImageList = imageList2;

因此,当该方法最终找到分配 ImageKey 的代码时,它确实会在代码中运行,但是它只是显示为空白图像。这很奇怪,因为它适用于某些人而不适用于其他人。它目前也不适用于我的 atm,并且在我执行源代码时它们也不会显示。有没有人有任何想法?这是帮助描述问题的图像...如果需要,请遵循更多代码。

【问题讨论】:

  • 如果它适用于某些人,请确保图像的每像素位数与桌面匹配。如果图像的性质由于 BPP 设置而无法清晰显示,那么您可能必须确保它确实显示。你需要为此做一些技巧......拥有不同的 BPP 图像,将图像转换为兼容格式等。
  • 不确定你的意思,你能试着澄清一下吗?
  • 正确检查 ImageList。观察透明颜色字段。当某些颜色应该是透明的时,它很有用。然后检查您添加的图像是否具有PixelFormat 值。如果可能,请保持它们相同。最后查看图片列表的ColorDepth。理想情况下,这应该与图像的像素格式相匹配。在我看来,应该首选 24 位和 32 位。

标签: c# image tabpage


【解决方案1】:

您对答案的需求可能早就过去了,但我遇到了同样的问题,这是我的解决方案:

设置 ImageKey 不起作用,但设置 ImageIndex 会导致图标显示。我创建了一个枚举器,将图标映射到它们的索引。

private enum TabIconCodes : int
{
    Stopped = 1,
    Running = 2,
}
unitTab.ImageIndex = (int)TabIconCodes.Stopped;

这不是一个理想的解决方案,但确实有效。

【讨论】:

    【解决方案2】:

    喂!同一概念的另一种解决方案:

     tabp.ImageIndex = ImageListTabpages.Images.IndexOfKey("ImageKey")
    

    它确实对我有用。

    【讨论】:

      【解决方案3】:

      我知道很久以前有人问过这个问题,但这里提供的答案要么是一种解决方法,要么不够清楚。

      This does NOT show the image:
      var tabPage = new TabPage("page text");
      tabPage.Name = "pageName";
      tabPage.ImageKey = "myImageKey";
      TabPages.Add(tabPage);  //tab is added AFTER setting the ImageKey
      
      This works fine:
      var tabPage = new TabPage("page text");
      TabPages.Add(tabPage);  //tab is added BEFORE setting the ImageKey
      tabPage.Name = "pageName";
      tabPage.ImageKey = "myImageKey";
      
      

      希望这会有所帮助!

      【讨论】:

        【解决方案4】:

        在为 PageTab 设置 ImageKey 之前,PageTab 的 TabControl 需要设置 ImageList 并且 PageTab 必须添加到 TabControl

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多