Combobox赋值变量

时间:2011-04-04 20:04:45

标签: vb.net winforms combobox

如果我把:

variableName = namecombobox.selectedItem

Dim variablename as type = namecombobox.SelectedIndex

Visual Studio给出了错误

  

Option Strict禁止从对象到字符串的转换。

我可以通过以下方式解决这个问题:

variableName = convert.ToString(namecombobox.SelectedItem)

组合框中包含的所有值是否自动被视为非字符串,即使它们是字符串值(在本例中为“男性”和“女性”),以及在组合框中指定所选值的正确方法是什么变量?

2 个答案:

答案 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。

如果您通过比较代码中其他地方存在问题的变量而导致阅读错误。