Esempio n. 1
0
        public void Info(string title, Icon ic, string info, int[] array = null, float pointsize = -1,
                         Action <Object> acknowledgeaction = null, Object acknowledgedata        = null, bool usedialogfont = true)
        {
            Icon = ic;

            var enumlist = new Enum[] { ECIDs.InfoForm_buttonAcknowledge };

            BaseUtils.Translator.Instance.TranslateControls(this, enumlist);

            textBoxInfo.SetTabs(array ?? new int[] { 0, 100, 200, 300, 400, 500, 600, 800, 900, 1000, 1100, 1200 });
            textBoxInfo.ReadOnly = true;
            textBoxInfo.Select(0, 0);

            ackaction = acknowledgeaction;
            ackdata   = acknowledgedata;

            Theme theme = Theme.Current;

            if (theme != null)
            {
                bool winborder = usedialogfont ? theme.ApplyDialog(this) : theme.ApplyStd(this);
                if (winborder)
                {
                    panelTop.Visible = false;
                }
                if (pointsize != -1)
                {
                    textBoxInfo.Font = usedialogfont ? theme.GetDialogScaledFont(pointsize / 12f) : theme.GetScaledFont(pointsize / 12f);       // 12 is standard size..
                }
            }
            else
            {
                panelTop.Visible = false;
            }

            buttonAcknowledge.Visible = ackaction != null;

            textBoxInfo.Text  = info;
            labelCaption.Text = title;
            Text = title;
        }
Esempio n. 2
0
        MessageBoxIcon mbIcon;          // The icon that this dialog will show

        public MessageBoxTheme(string text, string caption = null, MessageBoxButtons?buttons = MessageBoxButtons.OK, MessageBoxIcon messageBoxIcon = MessageBoxIcon.None, Icon formIcon = null)
        {
            InitializeComponent();

            DialogResult = DialogResult.None;

            this.Text         = labelCaption.Text = caption ?? "Warning".TxID(ECIDs.MessageBoxTheme_Warning);
            themeTextBox.Text = text;
            this.buttons      = buttons;
            this.mbIcon       = messageBoxIcon;
            if (formIcon != null)
            {
                this.Icon = formIcon;
            }

            Theme theme = Theme.Current;

            this.MinimizeBox = false;

            if (theme != null)  // paranoid
            {
                theme.ApplyStd(this);
                themeTextBox.TextBoxBackColor = this.BackColor; // text box back is form back in this circumstance - we don't want it to stand out.

                if (FormBorderStyle == FormBorderStyle.Sizable) // override sizable to fixed
                {
                    FormBorderStyle = FormBorderStyle.FixedToolWindow;
                }
            }
            else
            {
                this.Font      = BaseUtils.FontLoader.GetFont("MS Sans Serif", 12.0F);
                this.ForeColor = Color.Black;
            }

            switch (buttons)
            {
            case null:
                buttonExt1.Visible = buttonExt2.Visible = buttonExt3.Visible = false;
                break;

            case MessageBoxButtons.AbortRetryIgnore:
                buttonExt1.DialogResult = DialogResult.Ignore; buttonExt1.Text = "Ignore".TxID(ECIDs.MessageBoxTheme_Ignore);
                buttonExt2.DialogResult = DialogResult.Retry; buttonExt2.Text = "Retry".TxID(ECIDs.MessageBoxTheme_Retry);
                buttonExt3.DialogResult = DialogResult.Abort; buttonExt3.Text = "Abort".TxID(ECIDs.MessageBoxTheme_Abort);
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt3;
                break;

            case MessageBoxButtons.OKCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.OK; buttonExt2.Text = "OK".TxID(ECIDs.MessageBoxTheme_OK);
                buttonExt3.Visible      = false;
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt1;
                break;

            case MessageBoxButtons.RetryCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.OK; buttonExt2.Text = "Retry".TxID(ECIDs.MessageBoxTheme_Retry);
                buttonExt3.Visible      = false;
                this.AcceptButton       = buttonExt2;
                this.CancelButton       = buttonExt1;
                break;

            case MessageBoxButtons.YesNo:
                buttonExt1.DialogResult = DialogResult.No; buttonExt1.Text = "No".TxID(ECIDs.MessageBoxTheme_No);
                buttonExt2.DialogResult = DialogResult.Yes; buttonExt2.Text = "Yes".TxID(ECIDs.MessageBoxTheme_Yes);
                buttonExt3.Visible      = false;
                break;

            case MessageBoxButtons.YesNoCancel:
                buttonExt1.DialogResult = DialogResult.Cancel; buttonExt1.Text = "Cancel".TxID(ECIDs.MessageBoxTheme_Cancel);
                buttonExt2.DialogResult = DialogResult.No; buttonExt2.Text = "No".TxID(ECIDs.MessageBoxTheme_No);
                buttonExt3.DialogResult = DialogResult.Yes; buttonExt3.Text = "Yes".TxID(ECIDs.MessageBoxTheme_Yes);
                this.AcceptButton       = this.CancelButton = buttonExt1;
                break;

            case MessageBoxButtons.OK:
            default:
                buttonExt1.DialogResult = DialogResult.OK; buttonExt1.Text = "OK".TxID(ECIDs.MessageBoxTheme_OK);
                buttonExt2.Visible      = false;
                buttonExt3.Visible      = false;
                this.AcceptButton       = this.CancelButton = buttonExt1;
                break;
            }

            Image iconselected = null;                // If not null, this icon will be drawn on the left of this form. Set from mbIcon in OnLoad

            switch (mbIcon)
            {
            // case MessageBoxIcon.Information:
            case MessageBoxIcon.Asterisk:
                iconselected = SystemIcons.Asterisk.ToBitmap();
                break;

            // case MessageBoxIcon.Exclamation:
            case MessageBoxIcon.Warning:
                iconselected = SystemIcons.Warning.ToBitmap();
                break;

            // case MessageBoxIcon.Error:
            // case MessageBoxIcon.Stop:
            case MessageBoxIcon.Hand:
                iconselected = SystemIcons.Hand.ToBitmap();
                break;

            case MessageBoxIcon.Question:
                iconselected = SystemIcons.Question.ToBitmap();
                break;

            case MessageBoxIcon.None:
            default:
                break;
            }

            if (iconselected != null)
            {
                panelIcon.Width           = iconselected.Width;
                panelIcon.Height          = iconselected.Height;
                panelLeft.Width           = panelIcon.Right + 8;
                panelIcon.BackgroundImage = iconselected;
            }
            else
            {
                panelLeft.Width = 4;
            }

            labelCaption.Visible = this.FormBorderStyle == FormBorderStyle.None;

            themeTextBox.BorderStyle = BorderStyle.None;
            themeTextBox.BorderColor = Color.Transparent;
            themeTextBox.ReadOnly    = true;

            Size = new Size(20, 20);        // minimise until shown
        }