void Init() { textBox_url = new TextBox(); textBox_url.Text = "http://"; textBox_save = new TextBox(); textBox_save.Text = _saveDir; textBox_url.TextChanged += textBox_url_TextChanged; button_wget = new Button { Text = "Wget" }; button_wget.Click += button_wget_Click; var layout = new DynamicLayout { Padding = new Padding(20, 10), Spacing = new Size(5, 5) }; var layout_left = new DynamicLayout(); layout_left.AddColumn(textBox_url, textBox_save); layout.BeginHorizontal(); layout.Add(layout_left, true); layout.Add(button_wget); layout.EndBeginHorizontal(); Content = layout; Title = "Wget"; Size = new Size(300, 100); }
void Init() { //_textBoxUrl _textBoxUrl = new TextBox(); //_buttonReadFile _buttonReadFile = new Button { Text = StrRes.GetString("StrLoad", "Load") }; _buttonReadFile.Click += _buttonReadFile_Click; //_buttonSaveFile _buttonSaveFile = new Button { Text = StrRes.GetString("StrSave", "Save") }; _buttonSaveFile.Click += _buttonSaveFile_Click; //_textAreaBody _textAreaBody = new TextArea(); //rightMenu_Body var rightMenuBody = new ContextMenu(); var findCommand = new Command { MenuText = StrRes.GetString("StrFind", "Find"), Shortcut = Keys.F | Application.Instance.CommonModifier }; findCommand.Executed += findCommand_Executed; rightMenuBody.Items.Add(findCommand); var layout = new DynamicLayout { Padding = new Padding(5, 5), Spacing = new Size(5, 5) }; layout.BeginVertical(); layout.BeginHorizontal(); layout.AddCentered(_textBoxUrl, xscale: true, horizontalCenter: false); layout.AddCentered(_buttonReadFile, horizontalCenter: false); layout.AddCentered(_buttonSaveFile, horizontalCenter: false); layout.EndBeginHorizontal(); layout.EndVertical(); layout.AddRow(_textAreaBody); // bug in gtk2 layout.ContextMenu = rightMenuBody; layout.MouseUp += (sender, e) => { if (e.Buttons == MouseButtons.Alternate) { layout.ContextMenu.Show(_textAreaBody); } }; Content = layout; }
Control CreateViews(Image image) { var layout = new DynamicLayout(); layout.BeginHorizontal(); layout.Add("ImageView"); layout.AddAutoSized(new ImageView { Image = image }); layout.AddAutoSized(new ImageView { Image = image, Size = new Size(64, 64) }); layout.AddAutoSized(new ImageView { Image = image, Size = new Size(32, 32) }); layout.EndBeginHorizontal(); layout.Add("Drawable"); layout.AddAutoSized(new DrawableImageView { Image = image }); layout.AddAutoSized(new DrawableImageView { Image = image, MinimumSize = new Size(64, 64), ScaleImage = true }); layout.AddAutoSized(new DrawableImageView { Image = image, MinimumSize = new Size(32, 32), ScaleImage = true }); layout.EndBeginHorizontal(); layout.Add("Button"); layout.AddAutoSized(new Button { Image = image, Text = "Auto Size" }); layout.AddAutoSized(new Button { Image = image, Text = "64px Height", Height = 64 }); layout.AddAutoSized(new Button { Image = image, Text = "32px Height", Height = 32 }); layout.EndBeginHorizontal(); layout.EndHorizontal(); return(layout); }
public FillStylePad(RipHandler handler) { this.handler = handler; var layout = new DynamicLayout { Padding = Padding.Empty }; layout.BeginVertical(Padding.Empty, Size.Empty); layout.BeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Empty)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Solid)); layout.Add(null, true); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Line)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Interleave)); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.LtSlash)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Slash)); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.LtBkSlash)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.BkSlash)); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.Hatch)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.XHatch)); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.WideDot)); layout.Add(CreateFillStyle(BGICanvas.FillStyle.CloseDot)); layout.EndBeginHorizontal(); layout.Add(null, true); layout.Add(CreateFillStyle(BGICanvas.FillStyle.User)); layout.EndHorizontal(); layout.EndVertical(); layout.AddCentered(FillStyleButton(), horizontalCenter: true, verticalCenter: false); Content = layout; }
void Init() { //_textBoxUrl _textBoxUrl = new TextBox(); //_buttonReadFile _buttonReadFile = new Button { Text = StrRes.GetString("StrLoad", "Load") }; _buttonReadFile.Click += _buttonReadFile_Click; //_buttonSaveFile _buttonSaveFile = new Button { Text = StrRes.GetString("StrSave", "Save") }; _buttonSaveFile.Click += _buttonSaveFile_Click; //_textAreaBody _textAreaBody = new TextArea(); var layout = new DynamicLayout { Padding = new Padding(5, 5), Spacing = new Size(5, 5) }; layout.BeginVertical(); layout.BeginHorizontal(); layout.AddCentered(_textBoxUrl, xscale: true, horizontalCenter: false); layout.AddCentered(_buttonReadFile, horizontalCenter: false); layout.AddCentered(_buttonSaveFile, horizontalCenter: false); layout.EndBeginHorizontal(); layout.EndVertical(); layout.AddRow(_textAreaBody); Content = layout; }
public CursorSection() { var layout = new DynamicLayout(); layout.BeginCentered(spacing: new Size(10, 10), yscale: true); var drawable = new CursorDrawable(); var rect = new Rectangle(0, 0, 100, 50); layout.Add("Label"); layout.BeginVertical(spacing: new Size(5, 5)); layout.BeginHorizontal(); int count = 0; foreach (var type in GetCursors()) { var cursor = type.cursor; var text = type.name; drawable.Rects.Add(new CursorRect { Rectangle = rect, Cursor = cursor, Text = text }); rect.X += rect.Width + 5; var label = new Label { Size = new Size(100, 50), Text = text, VerticalAlignment = VerticalAlignment.Center, TextAlignment = TextAlignment.Center, BackgroundColor = Colors.Silver }; if (cursor == null) { label.Cursor = null; } else { label.Cursor = cursor; } layout.Add(label); if (count++ > 3) { count = 0; rect.X = 0; rect.Y += rect.Height + 5; layout.EndBeginHorizontal(); } } layout.EndHorizontal(); layout.EndVertical(); layout.Add("Drawable with MouseMove"); layout.Add(drawable); layout.EndCentered(); drawable.Size = new Size(340, rect.Y + rect.Height + 20); Content = layout; }
public DebugWindow(DebugWindowViewModel viewModel) { Title = "Debugger"; DataContext = viewModel; var layout = new DynamicLayout { DefaultSpacing = new Size(20, 10), Padding = new Padding(20, 10) }; layout.BeginVertical(); layout.BeginHorizontal(); var disassemblerTextBox = new AutoLoadingRichTextArea { Font = new Font("monospace", 10), Width = 300, ReadOnly = true }; disassemblerTextBox.TextBinding.BindDataContext <DebugWindowViewModel>(m => m.DisassembedProgramText); disassemblerTextBox.BindDataContext(t => t.BackgroundColor, Binding.Property <bool>(nameof(DebugWindowViewModel.EmulationIsRunning)) .Convert(m => m ? Colors.DarkGray : Colors.White)); layout.Add(disassemblerTextBox); layout.BeginVertical(); layout.BeginHorizontal(); layout.BeginVertical(); var runHaltButton = new Button(); runHaltButton.TextBinding.BindDataContext( Binding.Property <bool>(nameof(DebugWindowViewModel.EmulationIsRunning)) .Convert(b => b ? "Halt" : "Run")); runHaltButton.Command = new Command((s, a) => { if (viewModel.EmulationIsRunning) { viewModel.HaltEmulation(); } else { viewModel.StartEmulation(); } }); layout.Add(runHaltButton); var stepButton = new Button { Text = "Step", Command = new Command((s, a) => viewModel.Step()) }; stepButton.Bind(b => b.Enabled, viewModel, Binding.Property((DebugWindowViewModel m) => m.EmulationIsRunning).Convert(v => !v)); layout.Add(stepButton); layout.Add(null); _registerFieldControl = new RegisterFieldControl(viewModel.State.Registers); layout.Add(_registerFieldControl); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "State") { _registerFieldControl.UpdateBindings(BindingUpdateMode.Destination); } }; layout.EndVertical(); layout.EndBeginHorizontal(); layout.EndBeginVertical(); var tilesetView = new ImageView(); tilesetView.BindDataContext(v => v.Image, (DebugWindowViewModel vm) => vm.Tileset, DualBindingMode.OneWay); layout.AddColumn(tilesetView, new Label { Text = "Tileset" }); layout.EndBeginVertical(); var tilemap0View = new ImageView(); tilemap0View.BindDataContext(v => v.Image, (DebugWindowViewModel vm) => vm.Tilemap0, DualBindingMode.OneWay); layout.AddColumn(tilemap0View, new Label { Text = "Tilemap #0" }); layout.EndBeginVertical(); var tilemap1View = new ImageView(); tilemap1View.BindDataContext(v => v.Image, (DebugWindowViewModel vm) => vm.Tilemap1, DualBindingMode.OneWay); layout.AddColumn(tilemap1View, new Label { Text = "Tilemap #1" }); layout.EndVertical(); layout.EndHorizontal(); layout.EndVertical(); Content = layout; viewModel.Refresh(); }
private void InitializeComponent() { var layout_left = new DynamicLayout { Padding = new Padding(10, 5, 5, 5), Spacing = new Size(5, 5), ClientSize = new Size(345, 426), MinimumSize = new Size(345, 426) }; var layout_right = new DynamicLayout { Padding = new Padding(5, 5, 5, 5), Spacing = new Size(5, 5), ClientSize = new Size(180, 426), MinimumSize = new Size(180, 426) }; var layout_serialPort = new DynamicLayout { Padding = new Padding(5, 15, 5, 5), Spacing = new Size(5, 5) }; _textAreaIn = new TextArea() { BackgroundColor = Colors.Black, TextColor = Colors.SpringGreen, }; _textAreaOut = new TextArea() { BackgroundColor = Colors.Black, TextColor = Colors.SpringGreen, }; layout_left.AddAutoSized(new Label() { Text = "接收区" }); layout_left.AddSeparateRow(new Panel() { Content = _textAreaIn, MinimumSize = new Size(345, 240), ClientSize = new Size(345, 240) }); layout_left.AddAutoSized(new Label() { Text = "发送区" }); layout_left.AddSeparateRow(new Panel() { Content = _textAreaOut, MinimumSize = new Size(345, 165), ClientSize = new Size(345, 165) }); _comboBoxSerialPortName = new ComboBox(); _comboBoxSerialBaudRate = new ComboBox(); _comboBoxSerialDataBits = new ComboBox(); _comboBoxSerialParity = new ComboBox(); _comboBoxSerialStopBits = new ComboBox(); _btnClear = new Button { Text = "清空收区" }; _btnOpen = new Button { Text = "打开串口" }; _btnSend = new Button { Text = "串口发送" }; _checkBoxHex = new CheckBox { Text = "是否Hex" }; label7 = new Label(); layout_serialPort.BeginVertical(); layout_serialPort.BeginHorizontal(); layout_serialPort.AddAutoSized(new Label() { Text = "端口号:" }, new Padding(0, 3)); layout_serialPort.AddAutoSized(_comboBoxSerialPortName); layout_serialPort.EndBeginHorizontal(); layout_serialPort.BeginHorizontal(); layout_serialPort.AddAutoSized(new Label() { Text = "波特率:" }, new Padding(0, 3)); layout_serialPort.AddAutoSized(_comboBoxSerialBaudRate); layout_serialPort.EndBeginHorizontal(); layout_serialPort.BeginHorizontal(); layout_serialPort.AddAutoSized(new Label() { Text = "数据位:" }, new Padding(0, 3)); layout_serialPort.AddAutoSized(_comboBoxSerialDataBits); layout_serialPort.EndBeginHorizontal(); layout_serialPort.BeginHorizontal(); layout_serialPort.AddAutoSized(new Label() { Text = "效验位:" }, new Padding(0, 3)); layout_serialPort.AddAutoSized(_comboBoxSerialParity); layout_serialPort.EndBeginHorizontal(); layout_serialPort.BeginHorizontal(); layout_serialPort.AddAutoSized(new Label() { Text = "停止位:" }, new Padding(0, 3)); layout_serialPort.AddAutoSized(_comboBoxSerialStopBits); layout_serialPort.EndBeginHorizontal(); //layout_serialPort.AddColumn(); //layout_serialPort.AddColumn(); layout_serialPort.EndBeginVertical(); layout_right.AddAutoSized(layout_serialPort); layout_right.AddCentered(new Panel() { Content = _btnClear, ClientSize = new Size(164, 37), MinimumSize = new Size(164, 37) }, null, null, true); layout_right.AddCentered(new Panel() { Content = _btnOpen, ClientSize = new Size(164, 37), MinimumSize = new Size(164, 37) }, new Padding(0, 80, 0, 0), null, true); layout_right.AddCentered(new Panel() { Content = _btnSend, ClientSize = new Size(164, 37), MinimumSize = new Size(164, 37) }, new Padding(0, 10), null, true); layout_right.AddCentered(_checkBoxHex); layout_right.AddAutoSized(label7); var layout = new Splitter() { Panel1 = layout_left, Panel2 = layout_right, Orientation = SplitterOrientation.Horizontal }; }
public void InitializeComponents() { meni = new MenuBar { Items = { new ButtonMenuItem { Text = "Почетна", Items ={ this.pocetnaCmd } }, new SeparatorMenuItem(), new ButtonMenuItem { Text = "Одјави се", Items ={ this.prijaviSeCmd } } } }; // labele izdvajamoLabela = new Label { Text = "\tИздвајамо: ", Font = new Font(SystemFont.Bold, 14) }; najnovijeLabela = new Label { Text = "\tНајновије: ", Font = new Font(SystemFont.Bold, 14) }; kategorijeLabela = new Label { Text = "\tКатегорије: ", Font = new Font(SystemFont.Bold, 12) }; separator = new Label { Text = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t", Font = new Font(SystemFont.Default, 10, FontDecoration.Strikethrough) }; // pretraga lupaImg = new ImageView { Image = Icon.FromResource("search-icon") }; lupaImg.Width = 30; lupaImg.Height = 30; lupaImg.MouseEnter += (sender, e) => { lupaImg.Width += 10; lupaImg.Height += 10; }; lupaImg.MouseLeave += (sender, e) => { lupaImg.Width = 30; lupaImg.Height = 30; }; pretragaBox = new TextBox( ) { PlaceholderText = "Унесите назив филма..." }; pretragaBox.ToolTip = "Притисните ентер за претрагу."; pretragaBox.KeyUp += (sender, e) => { Console.WriteLine("Pretraga"); }; pretragaLayout = new DynamicLayout( ) { Spacing = new Size(10, 10) }; pretragaLayout.BeginVertical(); pretragaLayout.EndBeginHorizontal(); pretragaLayout.Add(null, true, false); pretragaLayout.Add(lupaImg); pretragaLayout.Add(pretragaBox); pretragaLayout.Add(null, true, false); pretragaLayout.EndHorizontal(); pretragaLayout.EndVertical(); // kategorije List <string> listaKategorija = ZanrC.VratiSveZanrove(); List <Label> listaLabela = new List <Label> ( ); listaKategorija.ForEach(x => listaLabela.Add(new Label { Text = x.ToString() })); listaLabela.ForEach(x => { x.MouseEnter += (sender, e) => { x.Font = new Font(SystemFont.Default, 10, FontDecoration.Underline); }; x.MouseLeave += (sender, e) => { x.Font = new Font(SystemFont.Default, 10, FontDecoration.None); }; x.MouseDown += (sender, e) => { Console.WriteLine("Kliknuto: " + x.Text); }; }); kategorijePanel = new DynamicLayout( ) { Spacing = new Size(10, 10), Padding = new Padding(10, 10) }; kategorijePanel.BeginVertical(); listaLabela.ForEach(x => { kategorijePanel.BeginHorizontal(); kategorijePanel.Add(null, true, false); kategorijePanel.Add(x); //kategorijePanel.Add( null , true , false ); kategorijePanel.EndHorizontal(); }); kategorijePanel.EndVertical(); // pretraga i desni panel desniPanel = new DynamicLayout( ) { Spacing = new Size(10, 10), BackgroundColor = Color.FromArgb(255, 238, 91, 70), Size = new Size(300, 500) }; desniPanel.BeginVertical(); desniPanel.Add(pretragaLayout); desniPanel.Add(kategorijeLabela); separator.Text = "\t\t\t\t\t\t\t"; desniPanel.Add(separator); desniPanel.Add(kategorijePanel); desniPanel.EndVertical(); izdvajamoPanel = new DynamicLayout( ) { Padding = new Padding(10, 10), BackgroundColor = Color.FromArgb(40, 40, 40, 50), Spacing = new Size(5, 5), }; izdvajamoPanel.BeginVertical(); // inicijalizacija izdvajamo panela List <Projekcija> listaProjekcijaPodaci = Projekcija.Sve(); for (int i = 0; i < listaProjekcijaPodaci.Count - 1; i++) { // nasumicno odabiranje projekcije if (i == Metode.VratiNasumicniInt(0, listaProjekcijaPodaci.Count)) { continue; } Label nazivFilma = new Label { Text = "Назив филма: " + listaProjekcijaPodaci[i].Film.Naziv }; Label nazivSale = new Label { Text = "Назив сале: " + listaProjekcijaPodaci[i].Sala.Naziv }; Label vreme = new Label { Text = "Време:\t " + listaProjekcijaPodaci[i].Vreme }; Button kupi = new Button { Text = "Kупите карту" }; Button vise = new Button { Text = "Више информација" }; var podPanel = new DynamicLayout( ) { Spacing = new Size(10, 10) }; var dugmici = new DynamicLayout { Spacing = new Size(10, 10) }; kupi.Click += (sender, e) => KupiKartu(listaProjekcijaPodaci[i]); vise.Click += (sender, e) => PrikaziVise(listaProjekcijaPodaci[i]); podPanel.BeginVertical(); podPanel.Add(nazivFilma); podPanel.Add(nazivSale); podPanel.Add(vreme); dugmici.BeginVertical(); dugmici.BeginHorizontal(); dugmici.Add(null, true, false); dugmici.Add(kupi); dugmici.Add(null, true, false); dugmici.EndHorizontal(); dugmici.BeginHorizontal(); dugmici.Add(null, true, false); dugmici.Add(vise); dugmici.Add(null, true, false); dugmici.EndHorizontal(); dugmici.EndVertical(); podPanel.Add(dugmici); podPanel.EndVertical(); izdvajamoPanel.Add(podPanel); } izdvajamoPanel.EndVertical(); najnovijePanel = new DynamicLayout() { Padding = new Padding(10, 10), BackgroundColor = Color.FromArgb(40, 40, 40, 50), Spacing = new Size(10, 10), }; najnovijePanel.BeginVertical(); for (int i = 0; i < listaProjekcijaPodaci.Count - 1; i++) { if (i == Metode.VratiNasumicniInt(0, listaProjekcijaPodaci.Count)) { continue; } Label nazivFilma = new Label { Text = "Назив филма: " + listaProjekcijaPodaci[i].Film.Naziv }; Label nazivSale = new Label { Text = "Назив сале: " + listaProjekcijaPodaci[i].Sala.Naziv }; Label vreme = new Label { Text = "Време:\t " + listaProjekcijaPodaci[i].Vreme }; Button kupi = new Button { Text = "Kупите карту" }; Button vise = new Button { Text = "Више информација" }; var podPanel = new DynamicLayout( ) { Spacing = new Size(10, 10) }; var dugmici = new DynamicLayout { Spacing = new Size(5, 5) }; kupi.Click += (sender, e) => KupiKartu(listaProjekcijaPodaci[i]); vise.Click += (sender, e) => PrikaziVise(listaProjekcijaPodaci[i]); podPanel.BeginVertical(); podPanel.Add(nazivFilma); podPanel.Add(nazivSale); podPanel.Add(vreme); dugmici.BeginVertical(); dugmici.BeginHorizontal(); dugmici.Add(null, true, false); dugmici.Add(kupi); dugmici.Add(null, true, false); dugmici.EndHorizontal(); dugmici.BeginHorizontal(); dugmici.Add(null, true, false); dugmici.Add(vise); dugmici.Add(null, true, false); dugmici.EndHorizontal(); dugmici.EndVertical(); podPanel.Add(dugmici); podPanel.EndVertical(); najnovijePanel.Add(podPanel); } najnovijePanel.EndBeginVertical(); leviPanel = new DynamicLayout() { Spacing = new Size(10, 10), Padding = new Padding(10, 10) }; leviPanel.BeginVertical(); leviPanel.Add(izdvajamoLabela); leviPanel.Add(separator); leviPanel.Add(izdvajamoPanel); leviPanel.Add(najnovijeLabela); leviPanel.Add(separator); leviPanel.Add(najnovijePanel); leviPanel.EndVertical(); Scrollable scrollLeviPanel = new Scrollable { Content = leviPanel, Size = new Size(400, 500) }; // try with table layout var mainPanel = new TableLayout() { Padding = new Padding(10), // padding around cells Spacing = new Size(5, 5), // spacing between each cell Rows = { new TableRow( new TableCell(scrollLeviPanel), new TableCell(desniPanel) ) } }; panel = mainPanel; }
/// <summary> /// Public parameterless constructor /// </summary> public EtoOptionsPageControl() { // call this.LoadSettings() to initialize default values for the form LoadSettings(); // initialize all eventhandlers for forms #region eventHandlers tB_LineThickness.TextChanged += tB_LineThickness_TextChanged; tB_LineMaxLength.TextChanged += tB_LineMaxLength_TextChanged; tB_LineDividerLengthFactor.TextChanged += tB_LineDividerLengthFactor_TextChanged; tB_TextGap.TextChanged += tB_TextGap_TextChanged; tB_TextHeight.TextChanged += tB_TextHeight_TextChanged; tB_OffsetX.TextChanged += tB_OffsetX_TextChanged; tB_OffsetY.TextChanged += tB_OffsetY_TextChanged; btn_LineColor.Click += btn_LineColor_Clicked; btn_TextColor.Click += btn_TextColor_Clicked; fP_TextFont.ValueChanged += fP_TextFont_ValueChanged; lB_ScaleStyle.SelectedIndexChanged += lB_ScaleStyle_SelectedIndexChanged; #endregion // create layout var layout = new DynamicLayout() { DefaultSpacing = new Size(5, 5), Padding = new Padding(10) }; // create row vor line settings var row = layout.BeginHorizontal(); // create empty groupBox and fill with linesettings controls var group = new DynamicGroup(); group.Title = "Line Settings"; group.AddRow(new DynamicRow(new Control[] { lbl_ScaleStyle, lB_ScaleStyle })); group.AddRow(new DynamicRow(new Control[] { lbl_LineMaxLength, tB_LineMaxLength })); group.AddRow(new DynamicRow(new Control[] { lbl_LineThickness, tB_LineThickness })); group.AddRow(new DynamicRow(new Control[] { lbl_LineDividerLengthFactor, tB_LineDividerLengthFactor })); row.Add(group); // create row for text settings row = layout.EndBeginHorizontal(); // create empty groupBox and fill with textsettings controls group = new DynamicGroup(); group.Title = "Text Settings"; group.AddRow(new DynamicRow(new Control[] { lbl_TextHeight, tB_TextHeight })); group.AddRow(new DynamicRow(new Control[] { lbl_TextGap, tB_TextGap })); group.AddRow(new DynamicRow(new Control[] { lbl_TextFont, fP_TextFont })); row.Add(group); // create row for margin settings row = layout.EndBeginHorizontal(); // create empty groupBox and fill with marginsettings controls group = new DynamicGroup(); group.Title = "Margin Settings"; group.AddRow(new DynamicRow(new Control[] { lbl_OffsetX, tB_OffsetX })); group.AddRow(new DynamicRow(new Control[] { lbl_OffsetY, tB_OffsetY })); row.Add(group); // create row for color settings row = layout.EndBeginHorizontal(); // create empty groupBox and fill with colorsettings controls group = new DynamicGroup(); group.Title = "Color Settings"; group.AddRow(new DynamicRow(new Control[] { lbl_LineColor, btn_LineColor })); group.AddRow(new DynamicRow(new Control[] { lbl_TextColor, btn_TextColor })); row.Add(group); // Clean up emd of layout and add null layout.EndBeginHorizontal(); layout.Add(null); layout.EndHorizontal(); Content = layout; }