...
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…
Code Block |
---|
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
Code Block |
---|
this.picDataSource.Controls.AddRange(new System.Windows.Forms.Control[] {
this.txtNumber,
this._txtWhse_0,
this.adoWhseGRID,
this.vbsResize1
}); panel |
Answer
Find the definition of the control in your IDFs. The original control type is in the form definition
Code Block |
---|
Begin Resizer.vbsResize vbsResize1 |
The definition of this type is in resizer.ocx.xml
Code Block |
---|
<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
Code Block |
---|
...
</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> 3) Add an empty designer class to the IDF
|