BUG: Form Activate Event May Not Fire as Expected

Last reviewed: February 10, 1998
Article ID: Q180760
The information in this article applies to:
  • Windows CE Toolkit for Visual Basic 5.0, version 1.0

SYMPTOMS

Form Activate events may not fire correctly after a form is closed and then reopened.

RESOLUTION

Remove ControlMenus, MinButtons, and MaxButtons from all forms (set their properties to False), and use menu or command button code to close forms.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The problem is difficult to reproduce. It only occurs when a form is closed using the Control Menu or Window Close buttons (upper-right corner), and then reopened while the application continues to run.

NOTE: This problem does not occur when the Hide and Show method are used to navigate among forms.

Steps to Reproduce Behavior

  1. Open a new Windows CE project in Visual Basic 5.0. Form1 is created by default.

  2. Add another form (Form2) to the project.

  3. Add a CommandButton (Command1) to Form1 and paste the following code into the General Declarations section of Form1:

          Private Sub Command1_Click()
    
             Form2.Show
          End Sub
    
    

  4. Add a CommandButton (Command1) to Form2 and paste the following code into the General Declarations section of Form2:

          Private Sub Command1_Click()
    
             Form1.Show
          End Sub
    
          Private Sub Form_Activate()
             MsgBox "Form2 is activated"
          End Sub
    
    

  5. Press the F5 key to run the project in emulation.

  6. Click on Command1 on Form1. Form2 is brought to the front and the message box indicates that the Form2 Activate event was fired. Click OK to clear the message box.

  7. Click on Command1 on Form2. Form1 is brought to the front. Click the
       'X' button to close Form1. Form2 Activate is fired again. Clear the
       message box.
    
    

  8. Click on the Command1 on Form2 to bring up Form1. Click on Command1 on Form1. Form2 shows, but the message box in the Form2 Activate event does not fire.
Keywords          : vb5all vbce
Version           : WINDOWS:1.0
Platform          : WINDOWS
Issue type        : kbbug
Solution Type     : kbpending


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 10, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.