Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Edge HMI

​.NET Control object

  • Last UpdatedOct 27, 2026
  • 9 minute read

.NET Components are designed according to the Microsoft .NET Framework, which is a standard for modular programming technologies. Because AVEVA Edge is a .NET container, you can configure and run .NET Components in your project screens. The actual functions of a .NET Component are contained within a .NET Control object, which provides the configuration dialogs.

.NET Components include the following interfaces:

  • Properties: Variables whose values can be read and/or written for your project (for example, Object Color, FileName, URL, and so forth)

  • Methods: Functions from the .NET Component that can be triggered by your project (for example, open a dialog, execute a calculation, and so forth)

  • Events: Internal messages that can trigger the execution of expressions in your project (for example, Mouse_Click, Download_Completed, and so forth)

The properties, methods and events supported by each .NET Component vary according to the component's implementation.

When using .NET Components in your project, make sure that the target system (runtime station) can support the same components and that they are properly installed and registered. Your project includes links to the .NET Components; however, the installation of these components on the target system must be done separately. Furthermore, when .NET Components are used on screens open in remote Thin Clients, the .NET Components must also be manually installed on the Thin Client stations. The Microsoft Windows operating system installs a large selection of components by default, but additional components are offered by third-party providers. Consult your .NET Component provider for further information about how to install.

Selecting and placing a .NET Control object

To select and place a .NET Control object in your project screen:

  1. In the ribbon Draw tab, in the Libraries group, select the arrow beside ActiveX Control, and then select .NET Control in the drop-down menu. The .NET Framework Components dialog box is displayed.

    .NET Framework Components dialgo

    This dialog box lists all of the .NET components that are installed and registered on your computer, but AVEVA Edge does not necessarily support all of the listed components. In order to be placed in a project screen, a component must meet the following requirements:

    • It must be built with .NET Framework version 2.0, 3.0, or 3.5. Components that have been built with .NET Framework 4.0 or later are not supported.

    • It must be designed using Windows Forms (WinForms) rather than Windows Presentation Foundation (WPF). Components that have been designed using WPF are not supported. You can use third-party development tools such as Visual Studio to "wrap" a WPF-based component, however, so that it has WinForms control layer and therefore can be used in AVEVA Edge.

    • It must be designed as a User Control — that is, it must extend the System.Windows.Forms.UserControl class.

    • The DataGrid and DataGridView controls are not supported in any case. As an alternative, use the native Grid object.

  2. Select a component from the list, and then click OK to place it in your project screen. You can also click the Browse… button to find an unregistered component on your computer.

    Tip: Registered .NET Components are typically stored in the following directory:

    C:\WINDOWS\Microsoft.NET\Framework\

    However, you can have the application include unregistered components in the .NET Framework Components dialog by editing the <project name>.APP file to add this parameter:

    [Execution Environment]

    DotNetControlPath=OptionalPath

    For example:

    [Execution Environment]

    DotNetControlPath=C:\DOTNET CONTROLS BACKUP

    Thereafter, the .NET Framework Components dialog will list all registered components and all components found in the specified directory.

  3. By default, a new .NET Control object is placed in the upper-left corner of your project screen. Click on the object and drag it to where you want it placed.

  4. Once the object is placed, double-click on it to open its Object Properties dialog.

    objectpropertiesnew

The Object Properties dialog shows the name of the .NET Component. You must assign a name (alias) to the component in the Name box (for example, CheckBox1). This name is used to reference the component when using the scripting languages (VBScript and built-in scripting).

Note: You should not configure two .NET Control objects on the same screen with the same name. For instance, if you place two CheckBox components on the same screen and assign the name CheckBox1 to one object (Name field), you cannot assign the same name to the second object on the same screen. You would have to assign the name CheckBox2, for example, to the second object.

The Property Pages button opens the standard window for configuring the Static Properties (if any). The layout and the options in this dialog depend on the implementation of each .NET Component. Use this interface to set properties that should not be changed during runtime (fixed properties).

The Members button on the Object Properties dialog opens additional dialogs that allow you to do the following:

  • Associate tags to properties of the .NET Component

  • Trigger methods from the .NET Component based on tag change

  • Configure scripts, which are executed when Events from the .NET Component occur

The following sections describe how to configure these interfaces.

Note: Although the Members dialog displays the list of all properties, methods and events, you only have to configure the items that you need for your project.

The screen shots used in the following sections depict the CheckBox component. Although the names of properties, methods and events varies by component, the configuration interface is the same for any .NET Component. The concepts described here apply to all of them.

Compatibility

.NET Controls saved in the older format used before AVEVA Edge 2020 R2 SP1 are no longer supported. To use such a project in this version, first open it in AVEVA Edge 2020 R2 SP2, 2023, or 2023 R2 (with their latest patches), accept the upgrade of the .NET Controls, and save all screens. Then open the project in this version.

For security reasons, .NET Controls created using 20.0.2.0 or older versions of AVEVA Edge are being deprecated in future versions. When you open a screen containing an older, less secure .NET Control, you will be prompted to decide whether to upgrade to the newer, more secure version of .NET serialization. The dialogs will explain this, as shown below. If you choose to upgrade the .NET Control serialization, this choice will apply to all screens in the project as they are saved. If you want to reverse this choice, you can do so in the APP file as explained after the dialogs.

Upgrade .NET Control Serialization dialog

If you choose Yes, the following dialog will appear and explain that this choice will apply to this screen as soon as you save it. It will also apply to all other screens opened and saved in the project after this choice is made. This choice can be reversed; see below.

In order to upgrade all screens in the project, open each screen and select this option, or Verify the project to change all of the project screens at once.

Choosing to upgrade .NET Control Serialization

If you choose No, the following dialog will appear and explain that this choice can be reversed; see below.

Choosing not to upgrade .NET Control Serialization

Changing .NET Control Compatibility Setting

If you would like to alter .NET Control serialization compatibility, open the project APP file in a text editor and find the section [Preferences] (probably near the bottom of the file). Set X in the line AllowDeprecatedNetControls=X to either 0 (upgrade to newer serialization, which is the recommended setting) or 1 (use older serialization).

Configuring Properties

The Properties tab provides a grid with the following fields:

membersnew

  • Property: List all properties available from the .NET Component, and indicate their types:

    Property Icon

    Property Type

    Boolean Property icon

    Boolean

    Integer property icon

    Integer

    Real property icon

    Real

    String property icon

    String

  • Tag/Expression: The tag configured in this field is associated with the respective property of the .NET Component. The Action column will define whether the value of this tag will be written to the property, or if the value of the property will be written to this tag (or both).

  • Action: Defines the direction of the interface between the tag or expression configured in the Tag/Expression field and the .NET property, according to the following table:

    Action

    Description

    Get

    Read the value of the property and write it to the tag configured in the Tag/Expression field.

    Set

    Write the value from the tag or expression configured in the Tag/Expression field into the property.

    Get+Set

    Executes both actions (Get and Set). However, when opening a screen with the .NET Component,AVEVA Edge executes the Get command before executing any Set command. That is, the tag configured in the Tag/Expression field is updated with the value of the property when AVEVA Edge opens the screen where the .NET Component is configured.

    Set+Get

    Executes both actions (Get and Set). However, when opening a screen with the .NET Component, AVEVA Edge executes the Set command before executing any Get command. That is, the property is updated with the value of the tag configured in the Tag/Expression field when AVEVA Edge opens the screen where the .NET Component is configured.

    Note: When the value of the property is "Read-only" (cannot by overwritten by your project), the Action field is automatically set to Get.

  • Scan: Defines the polling method to get values from the properties. For .NET Components, all properties scan Always by default. That is, AVEVA Edge keeps polling the value of the property and updating the tag configured in the Tag/Expression field with this value.

Configuring Methods

The Methods tab provides a grid with the following fields

memberstab

  • Method: Lists all methods available from the .NET Component.

  • Parameters: The tags configured in this field are associated with the corresponding method. If the method does not support any parameter, then the fixed text <None> is displayed. Otherwise, you can enter the tags that you want to associate with the parameter. When the method has more than one parameter, you can enter one tag for each parameter, separating them by a comma (,). For example, TagA , TagB , TagC.

    Tip: When you click the Browse button (Browse button), it will display the list of parameters supported by the method, allowing you to associate one tag with each parameter.

    When the method is executed, either the value of the tags are written to the parameters of the method (input parameters), or, after the method is executed, the .NET Component writes the value of the parameters to the tags (output parameters).

  • Trigger: When the tag configured in this field changes value, the respective method of the .NET Component is executed.

  • Return: The tag configured in this field receives the value returned by the method (if any).

Configuring Events

The Events tab provides a grid with the following fields:

Members - Events tab

  • Event: Lists all events available from the .NET Component.

  • Parameters: The tags configured in this field are associated with the corresponding event. If the event does not support any parameter, then the fixed text <None> is displayed. Otherwise, you can enter the tags that you want to associate with the parameter. When the event has more than one parameter, you can enter one tag for each parameter, separating them by a comma (,). For example, TagA , TagB , TagC.

    Tip: When you click the Browse button (Browse button), it will display the list of parameters supported by the event, allowing you to associate one tag with each parameter.

    When the event occurs, either the value of the tags are written to the parameters of the method (input parameters), or, after the event occurs, the .NET Component writes the value of the parameters to the tags (output parameters).

  • Script: The script configured in this field will be executed when the event is triggered by the .NET Component.

    Tip: When you click the Browse button (Browse button), it will display a dialog with the complete script associated with the event. The main dialog displays only the expression configured in the first line of the script.

In This Topic
Related Links