我受到了这个c#函数的启发:。
private void metroTileSwitch_Click(object sender, EventArgs e)
{
var m = new Random();
int next = m.Next(0, 13);
metroStyleManager.Style = (MetroColorStyle)next;
}
我试图在vb.net中复制导入框架对象的函数:
Dim m = New Random()
Dim s = m.Next(0, 13)
Form1.MetroStyleManager1.Style = (MetroFramework.MetroColorStyle)s 'there's an error here
但我的最后一行有问题,特别是编译器告诉我:
" metroColorStyle是MetrFramework中的一个类型,不能用作表达式"。
为什么这段代码不起作用?
答案 0 :(得分:2)
C#中的这一行:
metroStyleManager.Style = (MetroColorStyle)next;
将VB翻译为:
metroStyleManager.Style = DirectCast(s, MetroColorStyle)
' or if you have not imported the NameSpace:
metroStyleManager.Style = DirectCast(s, MetroFramework.MetroColorStyle)
有几个很好的在线转换器可以做到这一点。无论m
是什么,都必须是可以投射到MetroColorStyle
的类型。
答案 1 :(得分:0)
在vb.net上:
如果您成功导入了所有地铁控件,请在列表中找到" metrostylemanager"将其添加到表单后,它将显示为"MetroStyleManager1"
,就像添加计时器一样。
然后选择它("MetroStyleManager1")
并将其属性修改为
"修饰符:public" &安培; "所有者:选择您的表格"
我改变颜色的方式(无需导入任何东西):
MetroStyleManager1.Style = MetroFramework.MetroColorStyle.Red
希望这有帮助