Article ID: 88477 - Last Review: December 12, 2003 - Revision: 2.0

PRB: SetFocus During Form Load May Cause Illegal Function Call

This article was previously published under Q88477

On This Page

Expand all | Collapse all

SUMMARY

Symptoms

Using the SetFocus method to set the focus to a specific control on a form during the form load event procedure may result in an "Illegal Function Call" error.

Cause

This error occurs because the form that the control is on is not yet visible.

Resolution

To prevent this error from occurring, execute Form.Show before executing the SetFocus method.

MORE INFORMATION

Steps to Reproduce Problem

  1. Start Visual Basic or from the File menu, choose New Project (ALT, F, N) if Visual Basic is already running. Form1 is created by default.
  2. Place a text box (Text1) on Form1.
  3. Add the following code to the Form_Load procedure for Form1:
       Sub Form_Load ()
          Text1.SetFocus
       End Sub
    						
  4. Press F5 to run the application. The line of code in the load event will be highlighted with the error "Illegal Function Call."
  5. If you show the form before executing SetFocus, the program will run as expected.
       Sub Form_Load ()
          Form1.Show
          Text1.SetFocus
       End Sub
    						

APPLIES TO
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 1.0 Standard Edition
Keywords: 
kbprb KB88477
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations