我们希望在Windows Forms中动态地(取决于XML文件)设置控件的BackColor。
我刚刚用CallType.Method试用了CallByName-Method。
CallByName(ColorObject, "FromName", CallType.Method, "Red")
当我想要执行"FromName“方法时,它不能工作,因为我需要像这样的"Color.FromName”。
CallByName从“颜色”类获得了一个对象,但仍然不能工作。将导入“颜色”-Class。
有没有人知道我做错了什么或者我该如何解决这个问题?
发布于 2015-10-02 17:51:51
不清楚控件名称和颜色是否在Xml中,因此我将介绍这两个内容。
您需要的是Controls.Find和Color.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 Enum中的标准.Net颜色之一,否则将抛出异常
https://stackoverflow.com/questions/32902395
复制相似问题