2012-08-03 20 views
0

我正在爲一個遊戲(我的世界)製作一個啓動器,但我一直得到這個錯誤.. 我讓它打開一個文件(minecraft.exe)通過OpenGileDialog然後文件名被輸入到一個文本框(文本框1),但在代碼中,我試圖使它如此,如果路徑不包含「我的世界」,會說無效路徑'String'的值無法轉換爲'System.Windows.Forms.Control'錯誤

這裏是我的代碼

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    OpenFileDialog1.ShowDialog() 
    TextBox1.Text = OpenFileDialog1.FileName 
    If TextBox1.Contains("Minecraft") = False Then 
     MsgBox("Invalid Path") 
    End If 
End Sub 

有上TextBox1.Contains一個錯誤(「我的世界」)= FALSE 它說:「‘串’的值不能轉換爲「System.Windows.For ms.Control'」 請幫助...

+0

你意識到你正試圖給'TextBox1.Contains(「Minecraft」)賦'false'對嗎?你需要用'=='來比較克里斯托弗 – CKKiller 2012-08-03 10:15:41

+0

,這對我來說是新聞。這是VB,而不是C. – Joey 2012-08-03 10:18:41

+0

夠公平,你還沒有標記VB,雖然 – CKKiller 2012-08-03 10:19:26

回答

2

你錯過了.Text

If Not TextBox1.Text.Contains("Minecraft") Then 
    '... 
End If 

TextBox繼承Control,它可以有孩子的控制。方法Control1.Contains(Control2)expects另一個Control

既然你沒有Option Strict On的copiler試圖將字符串"Minecraft"轉換爲Control,使你獲得例外時。我強烈建議您在項目設置上使用Option Strict On以避免進一步的隱式轉換。

您需要訪問TextBox1.Text屬性,該屬性返回String,並且具有您期望的.Contains()方法,如上面的代碼中所示。

相關問題