如果我把:
variableName = namecombobox.selectedItem
或
Dim variablename as type = namecombobox.SelectedIndex
Visual Studio给出了错误
Option Strict禁止从对象到字符串的转换。
我可以通过以下方式解决这个问题:
variableName = convert.ToString(namecombobox.SelectedItem)
组合框中包含的所有值是否自动被视为非字符串,即使它们是字符串值(在本例中为“男性”和“女性”),以及在组合框中指定所选值的正确方法是什么变量?
答案 0 :(得分:2)
这是正常的,ComboBox.Items属性是System.Object的集合。您应该使用项目的ToString()方法,就像ComboBox生成可见文本一样。
Dim variableName As String = namecombobox.SelectedItem.ToString()
或者使用CS.NET(),VB.NET方式。
答案 1 :(得分:0)
如果您使用此功能,假设您在组合框中选择“Selection1”:
Dim x As Boolean
Dim MyVariable As String = ""
MyVariable = ComboBox1.SelectedItem.ToString()
If MyVariable = "Selection1" Then
x = True
Else
x = False
假设上面的代码是你的代码...这对于从ComboBox中选择字符串是正确的。在IF语句中插入断点检查“MyVariable” - 如果将鼠标悬停在变量名称上,您将看到变量内容。这是查看变量内容的快捷方式。如果悬停在变量上方显示空字符串(“”)或只是Nothing,那么它没有拾取任何选定的项目。
在上面的代码中,如果我点击一个包含单词“Selection1”的项目,'MyVariable'将包含一个String“Selection1”,而布尔变量'x'也将读作TRUE。
如果您通过比较代码中其他地方存在问题的变量而导致阅读错误。