【问题标题】:Show Combobox selected item in textbox在文本框中显示 Combobox 所选项目
【发布时间】:2015-07-22 13:11:53
【问题描述】:
Public Class Form1
Public selected As Integer

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    Select Case ComboBox1.SelectedItem
        Case "Philippines (PHP)"
            selected = 1.0
        Case "United States(USD)"
            selected = 45.2
        Case "Japan(JPY)"
            selected = 0.36
        Case "Canada(CAD)"
            selected = 35.01
        Case "Australia(AUD)"
            selected = 33.34
    End Select
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    TextBox1.Text = ComboBox1.SelectedItem
End Sub
End Class

请不要笑我只是随便阅读VS2010的基础教程.. 我的问题是在文本框中显示的组合框中的选定项目中没有任何内容..

【问题讨论】:

    标签: vb.net visual-studio-2010 combobox selecteditem


    【解决方案1】:

    第一个selectedint,所以它不能有1.0、45.2 等值。 2、TextBox1_TextChanged 没有被触发,所以试试这样:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
     ...
     TextBox1.Text = ComboBox1.SelectedItem
    

    【讨论】:

    • 整数捕获加 1
    【解决方案2】:

    首先,您的“选定”变量类型错误。它需要是字符串或双精度类型。如果它只是用于可读性,则为 String,如果您打算在计算中使用它,则为 double。

    Public selected As Double
    
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        ' Call the ToString() method to get the text.
        Select Case ComboBox1.SelectedItem.ToString()
            Case "Philippines (PHP)"
                selected = 1.0
            Case "United States(USD)"
                selected = 45.2
            Case "Japan(JPY)"
                selected = 0.36
            Case "Canada(CAD)"
                selected = 35.01
            Case "Australia(AUD)"
                selected = 33.34
        End Select
        ' You need to catch if the selected variable has not value set.
        Textbox1.Text = selected.ToString()
    End Sub
    

    【讨论】:

    • 好吧,修复它.. 但现在我担心的是我用相同的变量制作第二个组合框并将值加在一起并将其显示在 textbox1 上
    【解决方案3】:

    这是 c# 代码,但我确信概念是相同的。您的 TextBox1_TextChanged 事件永远不会被触发,因为您从未设置文本框的文本以便可以将其删除,并将该代码移动到您的 comboBox1_SelectedIndexChanged 事件中。

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (comboBox1.SelectedItem.ToString())
            {
                case "Hey":
                    selected = 1;
                    break;
                case "There":
                    selected  = 2;
                    break;
                case "You":
                    selected  = 33.34;
                    break;
            }
            textBox1.Text = ComboBox1.SelectedItem.ToString();
        }
    

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 2010-11-30
      • 2014-03-13
      • 2011-04-19
      • 1970-01-01
      • 2020-12-11
      相关资源
      最近更新 更多