static void AddField(string codename, string showname, bool dirbrowser = false) { var sbox = new HBox(); var ilab = new Label(showname); var itxt = new TextView(); var ibrw = new Button("Browse"); var ibox = new HBox(); sbox.SetSizeRequest(500, 25); ilab.SetSizeRequest(250, 25); ibox.SetSizeRequest(250, 25); itxt.SetSizeRequest(250, 25); ibrw.SetSizeRequest(60, 25); ibox.BorderWidth = 1; ilab.Justify = Justification.Left; sbox.ResizeChildren(); sbox.Add(ilab); sbox.Add(ibox); ibox.Add(itxt); Fields[codename] = itxt; if (dirbrowser) { itxt.SetSizeRequest(190, 25); ibox.Add(ibrw); Browse[codename] = ibrw; Browse2Source[ibrw] = codename; ibrw.Clicked += DirBrowser; } MainBox.Add(sbox); }