DeployLX Software Protection System

How to Create a Custom Form

A custom form must inherit from the SuperFormPanel class to be hosted in the Super Form or implement ICustomForm to display it's own unique interface.

Using a Custom Form

Limits display a form by calling SecureLicenseContext.ShowForm with the given Page ID of the panel to display. Override the forms by specifying your own type for the Page ID you'd like to customize.

To configure a license to use a custom form

  1. Open or create a license in the Advanced License Editor.
  2. Switch to the Limits tab.
  3. Select one of the super form limits like the Trial, Registration or Activation limits.
  4. Uncheck Hide advanced properties.
  5. In the Custom Forms list select the Page ID of the form to override.
  6. Enter the assembly qualified full name of the type that implements ICustomForm or inherits from SuperFormPanel.
  7. Selct Properties to browse for the assembly and type.

Inheriting from SuperFormPanel

Inheriting from SuperFormPanel or SplitPanel provides seamless integration with the existing forms. Setup and initialization is managed by overriding one or more of the following methods.

InitializePanel

Must be overridden. Called each time the panel is displayed in the super form.

Add controls to the footer by calling AddBottomButton, AddBottomControl and AddBottomLabel.

LoadPanel Called only the first time the panel is added to the super form.
PanelShown Called when the panel has been shown and is ready to accept input. Override to set focus to a specific control.
UpdateFromTheme Called to update the panel to use the currently active theme.

Implementing ICustomForm

Create your own complete forms by implementing ICustomForm. The Show method is responsible for displaying a form and returning a FormResult value used by the license validation process.

DeployLX does not require that an actual form is shown to the user. Simply return one of the FormResult values to effectively bypass the form.

Imports System
Imports System.Windows.Forms
Imports DeployLX.Licensing.v5

Public Class MyLicenseForm
    Inherits Form
    Implements ICustomForm
    
    Public Sub New()
        InitializeComponent()
    End Sub
    
    ...

    Private Function Show(_
            ByVal context As SecureLicenseContext,_
            ByVal limit As Limit,_
            ByVal pageId As String) As FormResult Implements ICustomForm.Show
        Select Case context.ShowDialog(Me)
            Case System.Windows.Forms.DialogResult.OK
                Return FormResult.Success
            Case DialogResult.Retry
                Return FormResult.Retry
            Case DialogResult.None
                Return FormResult.NotShown
            Case Else
                Return FormResult.Failure
        End Select
    End Function
End Class
using System;
using System.Windows.Forms;
using DeployLX.Licensing.v5;
...
public class MyLicenseForm : Form, ICustomForm
{
    public MyLicenseForm()
    {
        InitializeComponent();
    }
    
    ...
    
    FormResult ICustomForm.Show( SecureLicenseContext context, 
                                 Limit limit, 
                                 string pageId )
    {
        switch( context.ShowDialog( this ) )
        {
            case DialogResult.OK:
                return FormResult.Success;
            case DialogResult.Retry:
                return FormResult.Retry;
            case DialogResult.None:
                return FormResult.NotShown;
            default:
                return FormResult.Failure;
        }
    }
}