FormEvents.VersionUpgrade Event

Occurs when the version number of the form being opened is older than the version number of the form template on which it is based.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in

Exception typeCondition


The developer attempted to bind the event in some location other than the InternalStartup method.


The VersionUpgrade event is not meant to be instantiated by the developer in form code. You should only add event handlers for form-level events from the Microsoft Office InfoPath 2007 design mode user interface. When you add an event handler to your form template from the design mode user interface, InfoPath generates code in the InternalStartup method of your form code file using the EventManager class and the member of the FormEvents class to bind the event to its event handler. For information on how to add event handlers in InfoPath design mode, see How to: Add an Event Handler.

An event handler for the VersionUpgrade event allows you to run code to update a form when the form template on which it is based has been upgraded since the form was last opened.

The VersionUpgrade event is bound using the VersionUpgradeEventHandler delegate.

The VersionUpgrade event can be cancelled by using the CancelableArgs property of the VersionUpgradeEventArgs class to set the Cancel property to true.

This type or member can be accessed from code running in forms opened in Microsoft Office InfoPath 2007 or in a Web browser.

In the following example, the DocumentVersion and FormTemplateVersion properties of the VersionUpgradeEventArgs class are used to display the version numbers of the form and form template.

public void FormEvents_VersionUpgrade(object sender, VersionUpgradeEventArgs e)
   MessageBox.Show("The form version: " + e.DocumentVersion + 
      "\nThe form template version: " + e.FormTemplateVersion);
   // Write code to update form here.

Community Additions