![]() |
#1 |
Участник
|
The control add-in framework in NAV 2013 is great, because apart from allowing you to put a custom Windows Forms control on the page, it also allows you to interact with it through properties, methods, and events. In my classes I typically create a custom text box control that exposes a property to set the background color on the text box. It only takes adding a property of type Color, decorating it with the ApplicationVisible attribute, and you are ready to play.
However, if you want to enable setting all properties or invoking all of the methods the control supports, you could start wrapping the internal control into new ApplicationVisible properties and methods. There is no end to this. Even though this is an incredibly simple concept, it just never crossed my mind: why not exposing the whole control as an ApplicationVisible property – this would in turn enable you to access the whole control, all its properties and methods (unfortunately, not the events – the delegates are still not supported in C/AL) without having to write a single additional line of code. I give full credit here to my friend John who gave me thins hint. Thanks, John! Here’s a practical example: you have a custom button control add-in that looks more or less like this: ![]() Why not appending this little piece of code (marked green): ![]() It costs nothing, but it allows you to do things like this: ![]() Or like this: ![]() Or, why not, like this: ![]() Even though the C/AL Symbol Menu will not give you access to any of the inner control directly, all the members are still there for you to access. Again, as I said – you can’t subscribe to events. This is one of those limitations of .NET Interoperability I wrote about last year that I hope get sorted out at some point in future. However ![]() Read this post at its original location at http://vjeko.com/blog/tip-interactin...dd-in-controls, or visit the original blog at http://vjeko.com. 5e33c5f6cb90c441bd1f23d5b9eeca34 Читать дальше
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|