Wrong dialog size when using Lables displaying multiple lines of Text

Hello,

Recently some dialogs of my Plugin (MFis Wire) displayed with wrong size. It seems to me that it started with one of the recent updates of Rhino 7. The dialog height is too small such that the lowest buttons are not displayed. The problem does not occur in Rhino 6.

The following Sample Code illustrates the problem.
CsMultiLineLabel.cs (1.3 KB)

Dialog how it is displayed in Rhino 6:
JVyNHvelj4

Dialog how it is displayed in Rhino 7.15:
YwHOvQhigs

What can I do to have the dialog size calculated correctly in recent Rhino versions?

many thanks in advance and best regards,

Samuel

Hi @samuel.hartmann,

Does this help?

class DemoDialog : Dialog
{
  internal DemoDialog()
  {
    Width = 500; // set Width here

    var label = new Label
    {
      Text = "When within a Eto Forms dialog a lable control is used that displays a very long text (like this one) which uses more than two lines to display, the window size is not calculated correctly. This results the dialog not displaying all controls, e. g. buttons at the bottom might be missing.",
      Wrap = WrapMode.Word
      // Width = 500 // don't set Width here
    };

    DefaultButton = new Button { Text = "OK" };

    var layout = new TableLayout();
    layout.Rows.Add(label);
    layout.Rows.Add(DefaultButton);
    Content = layout;
  }
}

– Dale

Hi Dale,

Thank you for your answer. Indeed this works.
For my plug-in I also found another solution: I used explicit line breaks, then the window size is calculated correctly.

However, to my opinion the original example I posted should also work. So I see it is a bug in Rhino or the ETO framework that causes the issue. Actually it corrupted my plug-in and I only noticed it because a user was complaining. Probably also other plug-ins are affected. So it would be good to correct the bug.

best regards,

Samuel