【问题标题】:Combobox assignment of variable变量的组合框赋值
【发布时间】:2011-07-29 11:00:52
【问题描述】:

如果我说:

variableName = namecombobox.selectedItem

Dim variablename as type = namecombobox.SelectedIndex

Visual Studio 给了我错误

Option Strict 不允许从对象到字符串的转换。

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

variableName = convert.ToString(namecombobox.SelectedItem)

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

【问题讨论】:

    标签: vb.net winforms combobox


    【解决方案1】:

    这很正常,ComboBox.Items 属性是System.Object 的集合。您应该使用项目的 ToString() 方法,就像 ComboBox 生成可见文本一样。

     Dim variableName As String = namecombobox.SelectedItem.ToString()
    

    或者使用 CStr(),VB.NET 的方式。

    【讨论】:

      【解决方案2】:

      如果您正在使用它,假设您在组合框中选择“Selection1”:

      Dim x As Boolean
      Dim MyVariable As String = ""
      
      MyVariable = ComboBox1.SelectedItem.ToString()
      If MyVariable = "Selection1" Then
        x = True
      Else
        x = False
      

      假设上面的代码是你的代码...这是从 ComboBox 中选择字符串的正确方法。在检查“MyVariable”的 IF 语句上插入断点 - 如果将鼠标悬停在变量名称上,您将看到变量内容。这是查看变量内容的快速方法。如果悬停在变量上方显示一个空字符串 ("") 或只是 Nothing,则它没有拾取任何选定项。

      在我上面的代码中,如果我单击包含“Selection1”字样的项目,“MyVariable”将包含“Selection1”字符串,布尔变量“x”也将读取为 TRUE。

      如果您在比较变量时遇到读取错误,则说明您代码中的其他地方存在问题。

      【讨论】:

        猜你喜欢
        • 2015-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-21
        • 2020-02-21
        • 2011-05-29
        相关资源
        最近更新 更多