Options

Change Add-in size at runtime

ACaignieACaignie Member Posts: 91
Hello,

Version used: NAV2017 CU11 with Visual studio 2015.

I have created a C# addin to display a formatted HTML text in NAV (using a webbrowser control). This is part of a page that also contains other 'normal' textboxes. Is there any way to change the height of the C# addin at runtime?
I now have 2 options:
- set a fixed height, but this does not Always display all text
- set the control as dockstyle=fill, but this takes all available space.
I know the height I need for the addin, I just cannot set it, as it seems that NAV already reserved space before I can set my properties.

This is an example of how it looks now (worksheet page, same for other types), with lots of whitespace under the formatted text:

jxa6gm7iodm2.jpg

Setting the height of the control in the OnControlAddIn' event doesn't change anything about the space that NAV has preserved for the control.
Is there a method to do it before that (in NAV or C#), eg by using add-in events/properties?

Any help would be greatly appreciated
Thx

Best Answer

  • Options
    ACaignieACaignie Member Posts: 91
    Answer ✓
    After a lot of trial and error I got a solution for this, maybe it can help somebody else.
    This is what I added in C#

    Size lsMaximumSize = new Size(pnlBrowserArea.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Width, liHTMLHeight);
    pnlBrowserArea.Parent.Parent.Parent.MaximumSize = lsMaximumSize;
    pnlBrowserArea.Parent.Parent.MaximumSize = lsMaximumSize;
    pnlBrowserArea.Parent.MaximumSize = lsMaximumSize;

Answers

  • Options
    ACaignieACaignie Member Posts: 91
    Answer ✓
    After a lot of trial and error I got a solution for this, maybe it can help somebody else.
    This is what I added in C#

    Size lsMaximumSize = new Size(pnlBrowserArea.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Width, liHTMLHeight);
    pnlBrowserArea.Parent.Parent.Parent.MaximumSize = lsMaximumSize;
    pnlBrowserArea.Parent.Parent.MaximumSize = lsMaximumSize;
    pnlBrowserArea.Parent.MaximumSize = lsMaximumSize;

Sign In or Register to comment.