' String'的价值无法转换为' System.Windows.Forms.Control'错误

时间:2012-08-03 10:11:53

标签: vb.net minecraft

我正在制作一个游戏(我的世界)的发射器,但我一直收到这个错误.. 我做了所以你通过OpenGileDialog打开一个文件(minecraft.exe),然后将文件名输入到一个文本框(textbox1),但在代码中我尝试使它如此,如果路径不包含“我的世界”就会说路径无效

这是我的代码

  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(“minecraft”)= False时出错 它说“'String'的值不能转换为'System.Windows.Forms.Control'” 请帮忙......

1 个答案:

答案 0 :(得分:2)

您错过了.Text

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

TextBox继承自Control,可以有子控件。方法Control1.Contains(Control2) expects另一个Control

由于您没有 Option Strict On ,因此版权所有者正在尝试将字符串"Minecraft"转换为Control,并提供您正在获取的例外情况。我强烈建议您对项目的设置使用Option Strict On,以避免进一步的隐式转换。

您需要访问TextBox1.Text属性,该属性返回String,并且具有您期望的.Contains()方法,如上面的代码所示。