2012-11-10 28 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; 
    } 
} 
相關問題