/
Support Statement: Making a control into a class

Support Statement: Making a control into a class

Question

How do you suppress the creation of designer code for a component?  We are going to use Component One's new grid version and their resizer light component.  When I mapped the resizer, it looks good except it generates designer code that is not supported.

I assume this is because these are standard for a control…

         this.vbsResize1.Location = new System.Drawing.Point(0, 32);
         this.vbsResize1.Name = "vbsResize1";
         this.vbsResize1.Size = new System.Drawing.Size(0, 0);

 

and it adds a line to the control arrays

this.picDataSource.Controls.AddRange(new System.Windows.Forms.Control[] {
            this.txtNumber,
            this._txtWhse_0,
            this.adoWhseGRID,
            this.vbsResize1
         });

Answer

Find the definition of the control in your IDFs. The original control type is in the form definition

Begin Resizer.vbsResize vbsResize1

The definition of this type is in the IDF resizer.ocx.xml

<DescriptionFile>
<library id="Resizer.ocx"
...
<coclass id="vbsResize"  uuid="777CE4BD-E17B-453D-AC5F-46C6C22CF378" creatable="off" migStatus="ActiveX" migName="AxResizer.AxvbsResize">
...

We will modify this IDF to make this component be treated like a plain class.

1) Copy the IDF to your target folder (proj\iusr) so your custom copy will take precedence over the standard one.

2) Add a Refactor block to the bottom of the file

...
</library>
<Refactor id="[Resizer.ocx]">
   <!-- turn off adding to control collections -->
   <Migrate id="vbsResize" nPram="0" migPattern="vbsResize" role="define"/>
 
   <!-- replace default property initialization with an empty migClass -->
   <migClass id="NetControl.vbsResize" migName="vbsResize" parent="vbsResize">
   </migClass>
</Refactor>
</DescriptionFile>

Related content

Support Statement: Designer Control GUID
Support Statement: Designer Control GUID
More like this
Support Statement: Dealing with Library/Class Name Clash
Support Statement: Dealing with Library/Class Name Clash
More like this
Support Statement: hybrid upgrade of Toolbar.Buttons.Add to WinForms extension
Support Statement: hybrid upgrade of Toolbar.Buttons.Add to WinForms extension
More like this
Adding WPF Upgrade Support for VB.NET
Adding WPF Upgrade Support for VB.NET
More like this
Support Statement: Removing a container control (e.g. vsElastic )
Support Statement: Removing a container control (e.g. vsElastic )
More like this
gmSCControlDataClass
gmSCControlDataClass
More like this