【问题标题】:C# MSAGL change iconsC# MSAGL 更改图标
【发布时间】:2016-06-07 20:44:47
【问题描述】:

我用 c# 构建了一个 winforms 应用程序。

我正在尝试更改 MSAGL GViewer 组件的默认图标:

但我不知道在哪里做。

如何更改它们?

【问题讨论】:

    标签: c# winforms toolbar msagl


    【解决方案1】:

    GViewer 控件使用旧的ToolBar 控件来显示这些按钮。要替换这些图标,您可以在查看器控件的控件集合中找到工具栏,并为工具栏设置一个包含新图像的新 ImageList

    var toolbar = this.gViewer.Controls["toolbar"] as ToolBar;
    toolbar.ImageList = this.imageList1;
    

    图片列表应该有 18 张图片,按以下顺序排列。将图像添加到图像列表时。添加图像后,将索引 2 处图像的Name 属性设置为zoom.bmp,因为工具栏使用它的名称而不是索引:

    使用上面的图片,ColorDepth 设置为Depth24BitTransparentColor 设置为Magenta 这是最终结果:

    作为另一个选项,您可以将GViewer 组件的ToolBarIsVisible 属性设置为false,并使用您自己的ToolStripToolBar。然后在点击每个按钮时,可以调用查看器组件对应的方法,如ZoomInPressedZoomOutPressedBackwardButtonPressedForwardButtonPressed、...。

    注意:

    有关更多信息,您可以查看Microsoft Automatic Graph Layout 源代码库和GViewer 控件的源代码。

    【讨论】:

    • 该解决方案已经过全面测试并且工作正常。您在应用答案时有任何问题吗?如果您对答案有任何疑问,或者您觉得它有帮助,请告诉我。等待您的来信:)
    • 由于某种原因,索引 3 上的图标没有出现:s32.postimg.org/8f3rtkpud/Capture.png
    • 可能您没有看到这部分答案:将图像添加到图像列表时,将索引 2 处的图像名称设置为 zoom.bmp,因为工具栏使用它的名称代替索引。按指定顺序添加图片后,对于imagelist索引2处的图片,设置name为zoom.bmp
    • 实际上我看到这部分是我的列表的样子:s32.postimg.org/4ca0ehnb9/Captur2e.png
    • 让我检查一下,也许我写错了,截图是从一个工作样本中截取的。我会在一分钟内检查它...
    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 2016-09-24
    • 2011-02-23
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多