Question
How do you suppress the creation of designer code for a component. We are going to use C1s 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 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>