Solved

VB.net - SelectionChangeCommitted event problem

Posted on 2007-04-10
11
1,211 Views
Last Modified: 2012-05-05
I've a problem with the SelectionChangeCommitted event

The event is triggered when user does change, but when checking the ComboBox.text after even, the text value is the same as previous - it doesn't change.

I'm using SelectionChangeCommitted so event is only triggered when user does change to combo box, and not when any code changes the combo

Came across this http://weblogs.asp.net/grobinson/archive/2005/09/21/425711.aspx but not really sure what its saying to do

Thanks
0
Comment
Question by:rwallacej
  • 6
  • 5
11 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 18882573
Hello rwallacej,
What's in the event code now?
I'm using this currently in a project I'm working on and don't see that behavior...

~sirbounty
0
 

Author Comment

by:rwallacej
ID: 18882625
   Private Sub ComboBox_MP_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox_MP.SelectionChangeCommitted
        MessageBox.Show("THE NEW VALUE IS: " & ComboBox_MP.Text)
    End Sub

displays
1) THE NEW VALUE IS: [the original value]

2) the combo box the changes

the messagebox appears before the combobox changes
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18882657
You'll want to use:

 MessageBox.Show("THE NEW VALUE IS: " & ComboBox_MP.SelectedValue)

(or .SelectedText)
0
 

Author Comment

by:rwallacej
ID: 18882708
still the same :-(
0
 

Author Comment

by:rwallacej
ID: 18882717
form2.designer.vb

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form2
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.ComboBox_MP = New System.Windows.Forms.ComboBox
        Me.SuspendLayout()
        '
        'ComboBox_MP
        '
        Me.ComboBox_MP.FormattingEnabled = True
        Me.ComboBox_MP.Items.AddRange(New Object() {"None", "Motor driven", "Turbine driven"})
        Me.ComboBox_MP.Location = New System.Drawing.Point(12, 12)
        Me.ComboBox_MP.Name = "ComboBox_MP"
        Me.ComboBox_MP.Size = New System.Drawing.Size(109, 21)
        Me.ComboBox_MP.TabIndex = 6
        '
        'Form2
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Controls.Add(Me.ComboBox_MP)
        Me.Name = "Form2"
        Me.Text = "Form2"
        Me.ResumeLayout(False)

    End Sub
    Friend WithEvents ComboBox_MP As System.Windows.Forms.ComboBox
End Class
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:rwallacej
ID: 18882721
Public Class Form2

    Private Sub ComboBox_MP_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox_MP.SelectionChangeCommitted
        MessageBox.Show("THE NEW VALUE IS: " & ComboBox_MP.SelectedText)

    End Sub
End Class
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18882776
Did you try selectedValue?
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
ID: 18882784
Or you might try
MessageBox.Show(ComboBox_MP.Items.Item(ComboBox_MP.SelectedIndex))
0
 

Author Comment

by:rwallacej
ID: 18882791
yes, selectedvalue always gives "" (blank)
0
 

Author Comment

by:rwallacej
ID: 18882817
MessageBox.Show(ComboBox_MP.Items.Item(ComboBox_MP.SelectedIndex))
works
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18882832
Odd - but glad it does! :^)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

948 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now