In the following section, defines how the Sheridan controls are upgraded.
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.
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.
Class
Maps to
ActiveToolBars.SSActiveToolBars.Enabled
System.Windows.Forms.ToolStrip.Enabled
ActiveToolBars.SSActiveToolBars.ToolBars
System.Windows.Forms.ToolStrip.ToolBars
ActiveToolBars.SSActiveToolBars.BackColor
System.Windows.Forms.ToolStrip.BackColor
ActiveToolBars.SSActiveToolBars.ForeColor
System.Windows.Forms.ToolStrip.ForeColor
ActiveToolBars.SSActiveToolBars.Name
System.Windows.Forms.ToolStrip.Name
ActiveToolBars.SSActiveToolBars.Visible
System.Windows.Forms.ToolStrip.Visible
ActiveToolBars.SSActiveToolBars.Left
System.Windows.Forms.ToolStrip.Left
ActiveToolBars.SSActiveToolBars.Top
System.Windows.Forms.ToolStrip.Top
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:
Class
Maps to
SSDesignerWidgetsTabs.SSIndexTab
System.Windows.Forms.TabControl
SSDesignerWidgetsTabs.CTab
System.Windows.Forms.TabPage
SSDesignerWidgetsTabs.CTabs
System.Windows.Forms.TabControl.TabPageCollection
SSDesignerWidgetsTabs.Constants_TabOrientation
System.Windows.Forms.TabAlignment
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:
Class
Maps to
stBar.SSListBar
Infragistics.Win.UltraWinListBar.UltraListBar
stBar.ISSImagesCollection
System.Windows.Forms.ImageList
stBar.ISSGroupsCollection
Infragistics.Win.UltraWinListBar.GroupsCollection
stbar.Constants_BorderStyle
Infragistics.Win.UIElementBorderStyle
stbar.Constants_Style
Infragistics.Win.UltraWinListBar.Style
stbar.ISSGroup
Infragistics.Win.UltraWinListBar.Group
stbar.Constants_PictureBackgroundStyle
Infragistics.Win.ImageBackgroundStyle
stbar.SSGroup
Infragistics.Win.UltraWinListBar.Group
stbar.ISSListItem
Infragistics.Win.UltraWinListBar.Item
stBar.SSListItem
Infragistics.Win.UltraWinListBar.Item
stBar.SSListItems
Infragistics.Win.UltraWinListBar.ItemsCollection
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.
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.Panel ... Private Sub InitializeComponent() ... Me.SSPanel1 = New System.Windows.Forms.Panel() ...
9. SSSplitter
9.1. To System.Windows.Forms.SplitContainer
Converts Sheridan’s SSSplitter control to .NET native control.
This option removes the usage of the legacy COM control.
General Description:
The Sheridan SSSplitter is a container control that organizes the controls it contains into “n” resizable panes, which are separated by splitter bars that can be dragged with the mouse.
Deployment Note:
The following list shows which SSSplitter components are mapped to .NET equivalents:
Class
Maps to
SSSplitter.SSSplitter
System.Windows.Forms.SplitContainer
SSSplitter.Constants_SplitterBarAppearance
System.Windows.Forms.BorderStyle
SSSplitter.IPane
System.Windows.Forms.SplitterPanel
SSSplitter.Pane
System.Windows.Forms.SplitterPanel
Original VB6 code:
Begin SSSplitter.SSSplitter SSSplitter1 _Version =131074 PaneTree ="FormSheridan.frx":0000End
Public WithEvents SSSplitter1 As System.Windows.Forms.SplitContainer...Private Sub InitializeComponent() Me.SSSplitter1 =NewSystem.Windows.Forms.SplitContainer...End Sub
9.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 SSSplitter1 As AxSSSplitter.AxSSSplitter...Private Sub InitializeComponent() Me.SSSplitter1 =NewAxSSSplitter.AxSSSplitterCType(Me.SSSplitter1,System.ComponentModel.ISupportInitialize).Begint()...End Sub
10. Threed
10.1. To System.Windows.Forms Controls
Converts Sheridan’s Threed controls to native .NET controls.
This option avoids the usage of legacy COM control.
General Description:
ActiveThreed is a set of 32-bit ActiveX controls: SSCommand (extended command button controls), SSFrame (extended grouping box / frame), SSCheck (extended check selector controls) and SSPanel (extended grouping box / Panel).
Deployment Note:
The following list shows which Threed components are mapped to .NET equivalents:
Public WithEvents SSPanel1 As System.Windows.Forms.PanelPublic WithEvents SSFrame1 As System.Windows.Forms.GroupBoxPublic WithEvents SSCommand1 As System.Windows.Forms.Button...Private Sub InitializeComponent() Me.SSPanel1 =NewSystem.Windows.Forms.Panel Me.SSFrame1 =NewSystem.Windows.Forms.GroupBox Me.SSCommand1 =NewSystem.Windows.Forms.Button...End
10.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 SSPanel1 As AxThreed.AxSSPanelPublic WithEvents SSFrame1 As AxThreed.AxSSFramePublic WithEvents SSCommand1 As AxThreed.AxSSCommand...Private Sub InitializeComponent() Me.SSPanel1 =NewAxThreed.AxSSPanel Me.SSFrame1 =NewAxThreed.AxSSFrame Me.SSCommand1 =NewAxThreed.AxSSCommand...End