Microsoft KB Archive/251292

From BetaArchive Wiki

Article ID: 251292

Article Last Modified on 5/12/2003


  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition

This article was previously published under Q251292


An application error occurs when a modal dialog or form is closed after being shown from the ItemClick event of a ListView control in Microsoft Visual Basic. The error only occurs if the ListView control is cleared in the ItemClick event and an item other than the first item in the ListView was clicked.


To work around this behavior, the ListView control must be disabled before it is cleared. Once the ListView is cleared, the control can then be enabled.

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)     ListView1.Enabled = False
   ListView1.Enabled = True
   MsgBox "Cleared"
End Sub


Steps to Reproduce Behavior

  1. Start a new Visual Basic Standard EXE project. Form1 is created by default.
  2. On the Project menu, select Components. In the Components dialog box, select the Microsoft Windows Common Controls 6.0 component and click OK.
  3. Add a ListView control to Form1.
  4. Add the following code to the General Declarations section of Form1:

    Private Sub Form_Load()
       ListView1.ListItems.Add , , "First"
       ListView1.ListItems.Add , , "Second"
    End Sub
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
       MsgBox "Cleared"
    End Sub
  5. Press the F5 key to run the program.
  6. Click on the word "Second" that is contained within the ListView control. Notice that the message box dialog is displayed.
  7. Close the dialog box and note that an Application Error occurs.

Keywords: kbbug kbnofix kblistview kbprb kbctrl kbcontrol KB251292