2012-11-10 29 views
0

我想写下VB.net代码到C#。什么是在C#最好等效代码:什么是C#中的相当于我的函数代码

Private Sub AllControlDesign2(ByRef TB As Control) 
    If TB.GetType Is GetType(StatusStrip) Then 
     CType(TB, TextBox).ReadOnly = True 
     TB.BackColor = stFromBackColour 
     TB.ForeColor = Color.Gray 
    End If 
End Sub 
+0

这不是一个代码编写服务,伙计,你需要像RentACoder。你为什么不先尝试一些努力,然后我们可以告诉你哪里出错了。 – paxdiablo

+0

那么如果'TB'是一个'StatusStrip',你可以将它转换成一个'TextBox'?除了引发'InvalidCastException'之外,怎么能做其他事情呢? – hvd

回答

0

这是equivellant,从DeveloperFusion.com

private void AllControlDesign2(ref Control TB) 
{ 
    if (object.ReferenceEquals(TB.GetType, typeof(StatusStrip))) { 
     ((TextBox)TB).ReadOnly = true; 
     TB.BackColor = stFromBackColour; 
     TB.ForeColor = Color.Gray; 
    } 
} 
+0

大声笑,这是一个真正的时机:D – loxxy

+0

@loxxy的确如此。 – Ahmad

0
private void AllControlDesign2(ref Control TB) 
{ 
    if (object.ReferenceEquals(TB.GetType, typeof(StatusStrip))) { 
     ((TextBox)TB).ReadOnly = true; 
     TB.BackColor = stFromBackColour; 
     TB.ForeColor = Color.Gray; 
    } 
} 

使用this转换复制。

+2

GetType不是一个属性,对于初学者。 – 2012-11-10 06:44:59

1

我会怎么做:

private void AllControlDesign2(Control tb) { 
    var textBox = tb as TextBox; 
    if (textBox != null) { 
     textBox.ReadOnly = true; 
     textBox.BackColor = stFromBackColour; 
     textBox.ForeColor = Color.Gray; 
    } 
} 
相关问题