Esempio n. 1
0
            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);
                }
            }
Esempio n. 3
0
        /// <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);
        }