public HResult AddButton(INiTitleBarButton button, out int cookie) { cookie = 0; try { if (button == null) { throw new ArgumentNullException("button"); } cookie = _nextCookie++; var wrapper = new TitleBarButton(this, cookie); wrapper.Update(button); _buttonMap.Add(cookie, wrapper); _buttons.Add(wrapper); RebuildButtons(); return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }
public HResult AddButton(INiTitleBarButton button, out int cookie) { cookie = 0; try { if (button == null) throw new ArgumentNullException("button"); cookie = _nextCookie++; var wrapper = new TitleBarButton(this, cookie); wrapper.Update(button); _buttonMap.Add(cookie, wrapper); _buttons.Add(wrapper); RebuildButtons(); return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }
/// <summary> /// Initializes a new instance of the FormTitleBar class. /// </summary> public FormTitleBar() { Dock = DockStyle.Top; SetControlBehavior(ControlBehaviors.InvalidateOnTextChanged); SetControlBehavior(ControlBehaviors.Selectable, false); minimize_button = Controls.AddImplicitControl(new TitleBarButton(TitleBarButton.TitleBarButtonGlyph.Minimize)); minimize_button.Click += (o, e) => { var form_min = FindForm(); if (form_min != null) { form_min.WindowState = FormWindowState.Minimized; } }; maximize_button = Controls.AddImplicitControl(new TitleBarButton(TitleBarButton.TitleBarButtonGlyph.Maximize)); maximize_button.Click += (o, e) => { var form = FindForm(); if (form != null) { form.WindowState = form.WindowState == FormWindowState.Maximized ? FormWindowState.Normal : FormWindowState.Maximized; } }; close_button = Controls.AddImplicitControl(new TitleBarButton(TitleBarButton.TitleBarButtonGlyph.Close)); close_button.Click += (o, e) => { FindForm()?.Close(); }; form_image = Controls.AddImplicitControl(new PictureBox { Width = DefaultSize.Height, Dock = DockStyle.Left, Visible = false, SizeMode = PictureBoxSizeMode.CenterImage }); form_image.Style.BackgroundColor = SKColors.Transparent; form_image.SetControlBehavior(ControlBehaviors.ReceivesMouseEvents, false); }