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; }
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 }