none
VB.net ComboBox TextChanged改变为大写,栈溢出 RRS feed

  • 问题

  •     Private Sub cboWo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWo.TextChanged

            Dim iconIndex As Integer = cboWo.SelectionStart

          cboWo.Text = cboWo.Text.ToUpper().Trim()

            cboWo.SelectionStart = iconIndex

        End Sub

     

    当这步cboWo.Text = cboWo.Text.ToUpper().Trim()时,又会去调用TextChanged自己本身,进行死循环,栈溢出!

     

    请教改如何去更改?

    2011年9月7日 9:28

答案

  • 哎,都沒有人來回答啊  不過解決了

        Dim blnChange As Boolean = False

       Private Sub cboWo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWo.TextChanged
            If blnChange = True Then Exit Sub

            Dim iconIndex As Integer = cboWo.SelectionStart
            blnChange = True

            cboWo.Text = cboWo.Text.ToUpper().Trim()
            cboWo.SelectionStart = iconIndex

            blnChange = False
        End Sub

    • 已标记为答案 Kings Wang 2011年9月8日 0:23
    2011年9月8日 0:11

全部回复

  • 自己頂一下,各位仁兄來幫幫忙
    2011年9月7日 9:31
  • 哎,都沒有人來回答啊  不過解決了

        Dim blnChange As Boolean = False

       Private Sub cboWo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWo.TextChanged
            If blnChange = True Then Exit Sub

            Dim iconIndex As Integer = cboWo.SelectionStart
            blnChange = True

            cboWo.Text = cboWo.Text.ToUpper().Trim()
            cboWo.SelectionStart = iconIndex

            blnChange = False
        End Sub

    • 已标记为答案 Kings Wang 2011年9月8日 0:23
    2011年9月8日 0:11