1

我们希望动态地(取决于 XML 文件)设置BackColorWindows 窗体中的控件。

我刚刚尝试了CallByName-Method with CallType.Method

CallByName(ColorObject, "FromName", CallType.Method, "Red")

当我想执行“FromName”方法时它不起作用,因为我需要它像这样“Color.FromName”。

CallByName 从“颜色”类中获得了一个对象,但仍然不起作用。“颜色”类已导入。

有人知道我做错了什么或如何解决这个问题吗?

4

1 回答 1

0

不清楚控件名称和颜色是否在 Xml 中,所以我将两者都介绍。

你想要的是Controls.FindColor.FromName

所以结合你可以做这样的事情:

Dim ctl = Me.Controls.Find("Controlname from Xml", True) 'omit the True if you don't need to search child controls as it will be faster
Dim myColour = Color.FromName("ColourName From Xml")
ctl.backColor = myColour

请注意,颜色名称必须是KnownColor 枚举中的标准 .Net 颜色之一,否则将引发异常

于 2015-10-02T09:51:50.640 回答