We have a user-defined form editor in our app based on the standard MS DesignSurface component. I am trying to implement a simple grid-based component derived from UltraWinGrid.
Unfortunately whenever the WinGrid is dropped on a design surface it pops up the 'quick start' dialog.
This is fine for Visual Studio (especially as you can change the preferences to stop it) but not to useful in runtime design (end user) environment.
Is there a way to programatically disable/inhibit the quick start dialog?
(I want to avoid embedding it in a user control if possible)
The Designer dialog comes from the Infragisticss.Win.Design assembly. So if that dialog is displaying on your users machines, it means that either they have an installed copy of NetAdvantage or else you are distributing the Design dll. The first case is all right, but the second is something you should not do and will violate your license agreement.
Assuming that your users are developers who also own NetAdvantage, then you can get around this using the Designer attribute. The designer is provided by a Designer attribute on the UltraGrid class. So if you place this attribute on your derived grid and point it to a designer of your own that doesn't do anything, that should take care of it.
Thanks for the reply.
This is only at the prototype stage and hence only observed in the development environment.
I suspect from your answer that I'll have to go down the user control route in order to avoid it pulling in your design assembly and violating the licence.
We provide user-defined forms in our application that are designed at runtime by the end user. The toolbox has a limited set of specialised controls specific to our system. At present these controls are derived from the standard MS ones. What we are trying to do is utilise some of the NetAdvantage ones instead. Obviously, we have our own designers which is why I was concerned about preventing the NA dialogs popping up (especially if they use an assembly that is not deployed).
Hence I may just wrap the NA controls in a user control to shield them from the design surface rather than inheriting directly from them. (I don't want to inadvertantly expose any properties that may trigger them to try and load you design dll).
Thanks for your help anyway.