Sheridan controls (now Infragistics) were a set of components widely used in VB6 that provided some functionality not present in the built-in VB6 controls. Since these controls are so widely used Mobilize has added support for the most common of them.
The mappings created by Mobilize for these controls change some of them to equivalent third-party components in .NET or standard .NET controls. As usual, there’s also the possibility to continue using the ActiveX controls through COM Interop.
1. SSActiveTabPanel
1.1. To System.Windows.Forms.TabControl
Map UltraToolBars' SSActiveTabPanel classes to Windows Forms equivalents.
Original VB6 code:
Private Sub Form_Load() Dim newActiveTabs As ActiveTabs.SSActiveTabs Set newActiveTabs = SSActiveTabs1 newActiveTabs.AddControl SSActiveTabPanel1 MsgBox newActiveTabs.CaptionEnd Sub
Private Sub Form_Load() Dim newActiveTabs As TabControl = SSActiveTabs1 newActiveTabs.Controls.Add(SSActiveTabPanel1) MessageBox.Show(newActiveTabs.Name, My.Application.Info.Title)End Sub
1.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Original VB6 code:
Private Sub Form_Load() Dim newActiveTabs As ActiveTabs.SSActiveTabs Set newActiveTabs = SSActiveTabs1 newActiveTabs.AddControl SSActiveTabPanel1 MsgBox newActiveTabs.CaptionEnd Sub
Private Sub Form_Load() Dim newActiveTabs As AxActiveTabs.AxSSActiveTabs = SSActiveTabs1 newActiveTabs.AddControl(SSActiveTabPanel1) MessageBox.Show(newActiveTabs.Text, My.Application.Info.Title)End Sub
2. SSActiveToolBars
2.1. To System.Windows.Forms.ToolStrip
Convert ActiveToolBars.SSActiveToolBars classes to System.Windows.Forms.ToolStrip.
By using this option the converted application will not have any reference to the COM Component.
Original VB6 code:
Private Sub Form_Load()...Dim tool1 As SSToolSet tool1 = SSActiveToolBars1.Tools("ID_Label1")SSActiveToolBars1.Tools("ID_Label1").ToolTipText ="Label Renamed tooltiptext"str1 = UCase$(SSActiveToolBars1.Tools("ID_Label1").ToolTipText)SSActiveToolBars1.Tools("ID_Button1").Visible =boolMe.SSActiveToolBars1.Tools("ID_Button1").Visible = Not boolWith SSActiveToolBars1.Tools("ID_Button1").Visible =False.Tools("ID_Button1").Visible =TrueEnd Withbool= SSActiveToolBars1.EnabledSSActiveToolBars1.Enabled =TrueSSActiveToolBars1.Enabled =FalseSSActiveToolBars1.Enabled =boolSSActiveToolBars1.Visible =TrueSSActiveToolBars1.Left =450SSActiveToolBars1.Top =300End Sub
Private Sub Form_Load() Dim boolAsBoolean Dim tool1 As ToolStripItem = SSActiveToolBars1.Items.Item("ID_Label1") SSActiveToolBars1.Items.Item("ID_Label1").ToolTipText ="Label Renamed tooltiptext" Dim str1 AsString= SSActiveToolBars1.Items.Item("ID_Label1").ToolTipText.ToUpper() SSActiveToolBars1.Items.Item("ID_Button1").Visible =bool Me.SSActiveToolBars1.Items.Item("ID_Button1").Visible = Not bool With SSActiveToolBars1.Items.Item("ID_Button1").Visible =False.Items.Item("ID_Button1").Visible =True End Withbool= SSActiveToolBars1.Enabled SSActiveToolBars1.Enabled =True SSActiveToolBars1.Enabled =False SSActiveToolBars1.Enabled =bool SSActiveToolBars1.Visible =True SSActiveToolBars1.Left =450 SSActiveToolBars1.Top =300End Sub
2.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Original VB6 code:
Private Sub Form_Load()...Dim tool1 As SSToolSet tool1 = SSActiveToolBars1.Tools("ID_Label1")SSActiveToolBars1.Tools("ID_Label1").ToolTipText ="Label Renamed tooltiptext"str1 = UCase$(SSActiveToolBars1.Tools("ID_Label1").ToolTipText)SSActiveToolBars1.Tools("ID_Button1").Visible =boolMe.SSActiveToolBars1.Tools("ID_Button1").Visible = Not boolWith SSActiveToolBars1.Tools("ID_Button1").Visible =False.Tools("ID_Button1").Visible =TrueEnd Withbool= SSActiveToolBars1.EnabledSSActiveToolBars1.Enabled =TrueSSActiveToolBars1.Enabled =FalseSSActiveToolBars1.Enabled =boolSSActiveToolBars1.Visible =TrueSSActiveToolBars1.Left =450SSActiveToolBars1.Top =300End Sub
Private Sub Form_Load() Dim boolAsBoolean Dim tool1 As ActiveToolBars.SSTool = SSActiveToolBars1.Tools.Item("ID_Label1") SSActiveToolBars1.Tools.Item("ID_Label1").ToolTipText ="Label Renamed tooltiptext" Dim str1 AsString= SSActiveToolBars1.Tools.Item("ID_Label1").ToolTipText.ToUpper()... SSActiveToolBars1.Tools.Item("ID_Button1").Visible =bool Me.SSActiveToolBars1.Tools.Item("ID_Button1").Visible = Not bool With SSActiveToolBars1.Tools.Item("ID_Button1").Visible =False.Tools.Item("ID_Button1").Visible =True End Withbool= SSActiveToolBars1.Enabled SSActiveToolBars1.Enabled =True SSActiveToolBars1.Enabled =False SSActiveToolBars1.Enabled =bool SSActiveToolBars1.Visible =True SSActiveToolBars1.Left =30 SSActiveToolBars1.Top =20End Sub
3. SSActiveTreeView
3.1. To System.Windows.Forms.TreeView
Converts Sheridan’s SSActiveTreeView control to .NET native library.
This option converts Sheridan SSActiveTreeView to .NET native control.
The Sheridan SSActiveTreeView is a 32-bit only product that consists of a TreeView control and related classes and enums.
Public WithEvents SSTree1 As System.Windows.Forms.TreeView...Private Sub InitializeComponent() Me.SSTree1 =NewSystem.Windows.Forms.TreeView Me.SSTree1.Location =NewSystem.Drawing.Point(232,208) Me.SSTree1.Name ="SSTree1" Me.SSTree1.Size =NewSystem.Drawing.Size(209,129) Me.SSTree1.TabIndex =6...End Sub
3.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Public WithEvents SSTree1 As AxSSActiveTreeView.AxSSTree...Private Sub InitializeComponent() Me.SSTree1 =NewAxSSActiveTreeView.AxSSTree Me.SSTree1.Name ="SSTree1" Me.SSTree1.OcxState =CType(resources.GetObject("SSTree1.OcxState"), System.Windows.Forms.AxHost.State)...End Sub
4. SSCalendarWidgets
4.1. To System.Windows.Forms Controls
Converts Sheridan’s SSCalendarWidgets controls to System.Windows.Forms.
This option converts Sheridan’s SSCalendar controls to the native System.Windows.Forms controls.
General Description:
The Sheridan SSCalendarWidgets library provides a set of controls with an intuitive graphical interface for users to view and set date information: SSDateCombo (control that allows the user to select a single item from a list of dates or times), the SSMonth (grid containing the numbered days of the month, arranged in columns underneath the days of the week, with the selected range of dates highlighted) and the SSYear control.
Deployment Note:
The following list shows which SSCalendarWidgets components are mapped to .NET equivalents:
Public WithEvents SSYear1 As System.Windows.Forms.MonthCalendarPublic WithEvents SSDateCombo1 As System.Windows.Forms.DateTimePickerPublic WithEvents SSMonth1 As System.Windows.Forms.MonthCalendarPrivate Sub InitializeComponent() Me.SSYear1 =NewSystem.Windows.Forms.MonthCalendar Me.SSDateCombo1 =NewSystem.Windows.Forms.DateTimePicker Me.SSMonth1 =NewSystem.Windows.Forms.MonthCalendar...
4.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Public WithEvents SSYear1 As AxSSCalendarWidgets_A.AxSSYearPublic WithEvents SSDateCombo1 As AxSSCalendarWidgets_A.AxSSDateComboPublic WithEvents SSMonth1 As AxSSCalendarWidgets_A.AxSSMonthPrivate Sub InitializeComponent() Me.SSYear1 =NewAxSSCalendarWidgets_A.AxSSYear Me.SSDateCombo1 =NewAxSSCalendarWidgets_A.AxSSDateCombo Me.SSMonth1 =NewAxSSCalendarWidgets_A.AxSSMonth...
5. SSDataWidgets_B
5.1. To ComponentOne (.NET version)
Converts Sheridan’s SSDataWidgets controls to Component One .NET equivalents.
This option removes the usage of the legacy COM component.
General Description:
The Sheridan SSDataWidgets is an ActiveX library that contains the SSDBGrid, SSDBDropDown and more controls that display and manage data in a tabular fashion.
Deployment Note:
The following list shows which SSDataWidgets components are mapped to Component One .NET equivalents:
Public WithEvents SSDBDropDown1 As C1.Win.C1TrueDBGrid.C1TrueDBDropDownPublic WithEvents SSDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid...Private Sub InitializeComponent() Me.SSDBDropDown1 =NewC1.Win.C1TrueDBGrid.C1TrueDBDropDown Me.SSDBGrid1 =NewC1.Win.C1TrueDBGrid.C1TrueDBGrid...End Sub
5.2. To Infragistics UltraSuite (.NET version)
Converts Sheridan’s SSDataWidgets controls to Infragistics .NET equivalent controls.
This option converts SSDataWidgets controls to Infragistics.Win.UltraWinGrid.
General Description:
The Sheridan SSDataWidgets is an ActiveX library that contains the SSDBGrid, SSDBDropDown and SSDBCombo and more controls that display and manage data in a tabular fashion.
Deployment Note:
The following list shows which SSDataWidgets components are mapped to Infragistics .NET equivalents:
Public WithEvents Column_0_SSDBDropDown1 As Infragistics.Win.UltraWinGrid.UltraGridColumnPublic WithEvents SSDBDropDown1 As Infragistics.Win.UltraWinGrid.UltraDropDownPublic WithEvents SSDBCombo1 As Infragistics.Win.UltraWinGrid.UltraComboPublic WithEvents Column_0_SSDBGrid1 As Infragistics.Win.UltraWinGrid.UltraGridColumnPublic WithEvents SSDBGrid1 As Infragistics.Win.UltraWinGrid.UltraGrid...Private Sub InitializeComponent() Me.SSDBDropDown1 =NewInfragistics.Win.UltraWinGrid.UltraDropDown Me.SSDBCombo1 =NewInfragistics.Win.UltraWinGrid.UltraCombo Me.SSDBGrid1 =NewInfragistics.Win.UltraWinGrid.UltraGrid Me.Column_0_SSDBGrid1 =NewInfragistics.Win.UltraWinGrid.UltraGridColumn Me.Column_0_SSDBDropDown1 =NewInfragistics.Win.UltraWinGrid.UltraGridColumn...End
5.3. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Public WithEvents SSDBDropDown1 As AxSSDataWidgets_B.AxSSDBDropDownPublic WithEvents SSDBCombo1 As AxSSDataWidgets_B.AxSSDBComboPublic WithEvents SSDBGrid1 As AxSSDataWidgets_B.AxSSDBGrid...Private Sub InitializeComponent() Me.SSDBDropDown1 =NewAxSSDataWidgets_B.AxSSDBDropDown Me.SSDBCombo1 =NewAxSSDataWidgets_B.AxSSDBCombo Me.SSDBGrid1 =NewAxSSDataWidgets_B.AxSSDBGrid...End Sub
6. SSDesignerWidgetsTabs
6.1. To System.Windows.Forms.TabControl
Converts Sheridan’s SSDesignerWidgetsTabs control to a .NET native library.
This option removes the dependency on the legacy COM control.
General Description:
The Sheridan SSDesignerWidgetsTabs is an ActiveX library that contains several visual controls. The SSIndexTab contains Tab items which in turn contain controls displayed when the Tab is selected. Although the controls are placed on a Tab at design time, they are actually stored on a page of that Tab designated as page zero. This page is unique and it cannot be removed.
Deployment Note:
The following list shows which SSDesignerWidgetsTabs components are mapped to .NET equivalents:
6.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Original VB6 code:
Begin SSDesignerWidgetsTabs.SSIndexTab SSIndexTab1... BeginProperty FontSub {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name ="MS Sans Serif"... EndProperty BeginProperty PageFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name ="MS Sans Serif"... EndProperty BeginProperty ActiveTabFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name ="MS Sans Serif"... EndProperty BeginProperty ActivePageFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name ="MS Sans Serif"... EndPropertyEnd
Public WithEvents SSIndexTab1 As AxSSDesignerWidgetsTabs.AxSSIndexTab...Private Sub InitializeComponent().... Me.SSIndexTab1 =NewAxSSDesignerWidgetsTabs.AxSSIndexTabCType(Me.SSIndexTab1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SSIndexTab1.Name ="SSIndexTab1" Me.SSIndexTab1.OcxState =CType(resources.GetObject("SSIndexTab1.OcxState"), System.Windows.Forms.AxHost.State)...End Sub
7. SSListBar
7.1. To Infragistics UltraWinListBar.NET Suite
Converts Sheridan’s SSListBar controls to Infragistics UltraWinListBar.NET controls.
This option converts Sheridan SSListBar control to Infragistics UltraWinListBar.NET.
General Description:
The Sheridan ActiveListBar is a navigation control that gives applications an appearance similar to that of Microsoft Outlook. It incorporates a system of sliding Groups, each of which is identified by its header. Clicking a Group's header causes the group to become active, slide into view and display the ListItems it contains.
The ActiveListBar has a single collection of items regardless of the group where they are located. The SSListItem.Index property indicates the position of the item in the collection.
Deployment Note:
The following list shows which SSListBar components are mapped to Infragistics UltraWinListBar.NET Suite equivalents:
Original VB6 code:
Begin Listbar.SSListBar SSListBar1Groups(1).CurrentGroup=-1'True'Groups(1).Caption="New Group"End
Public WithEvents Group_1_SSListBar1 AsInfragistics.Win.UltraWinListBar.GroupPublic WithEvents SSListBar1 As Infragistics.Win.UltraWinListBar.UltraListBar...Private Sub InitializeComponent() Me.SSListBar1 =NewInfragistics.Win.UltraWinListBar.UltraListBar Me.Group_1_SSListBar1 =NewInfragistics.Win.UltraWinListBar.Group Me.SSListBar1.SuspendLayout()...End Sub
7.2. To COM Interop
This feature will take the legacy COM control and create an interoperability code wrapper to make it visible from the managed code. This means the control's functionality will remain the same since it will use the same binary, but the resulting application will depend on the legacy control.
Original VB6 code:
Begin Listbar.SSListBar SSListBar1Groups(1).CurrentGroup=-1'True'Groups(1).Caption="New Group"End
Public WithEvents SSListBar1 As AxListbar.AxSSListBar...Private Sub InitializeComponent() Me.SSListBar1 =NewAxListbar.AxSSListBarCType(Me.SSListBar1, System.ComponentModel.ISupportInitialize).BeginInit( Me.SSListBar1.OcxState = CType(resources.GetObject("SSListBar1.OcxState"), System.Windows.Forms.AxHost.State)...End Sub
8. SSPanels
8.1. On (Empty SSPanel converted to Label)
Convert Threed.SSPanel classes to System.Windows.Forms.Label when the SSPanel doesn't have any other control inside. If it has controls inside, it will be converted to a System.Windows.Forms.Panel.
By using this option the converted application will not have any reference to the COM Component.
Private Sub Form_Load() SSPanel1.Tag ="Some Tag" SSPanel1.Height =80 SSPanel1.Width =60 SSPanel1.Dock = DockStyle.None Dim X1 As Color = SSPanel1.BackColor SSPanel1.Enabled =False SSPanel1.Refresh() Dim X2 AsString= SSPanel1.Font.NameEnd SubPartial ClassForm1 ... Public WithEvents SSPanel1 As System.Windows.Forms.Label ... Private Sub InitializeComponent() ... Me.SSPanel1 = New System.Windows.Forms.Label() ...
8.2. Off
Convert Threed.SSPanel classes to System.Windows.Forms.Panel.
By using this option the converted application will not have any reference to the COM Component.