예제 #1
0
        public void BuildForm()
        {
            int form_height = 0;

              // Setup Main Instruction
              switch (m_mainIcon)
              {
            case SysIcons.Information: imgMain.Image = SystemIcons.Information.ToBitmap(); break;
            case SysIcons.Question: imgMain.Image = SystemIcons.Question.ToBitmap(); break;
            case SysIcons.Warning: imgMain.Image = SystemIcons.Warning.ToBitmap(); break;
            case SysIcons.Error: imgMain.Image = SystemIcons.Error.ToBitmap(); break;
              }

              //AdjustLabelHeight(lbMainInstruction);
              //pnlMainInstruction.Height = Math.Max(41, lbMainInstruction.Height + 16);
              if (m_mainInstructionHeight == 0)
            GetMainInstructionTextSizeF();
              pnlMainInstruction.Height = Math.Max(41, m_mainInstructionHeight + 16);

              form_height += pnlMainInstruction.Height;

              // Setup Content
              pnlContent.Visible = (Content != String.Empty);
              if (Content != String.Empty)
              {
            AdjustLabelHeight(lbContent);
            pnlContent.Height = lbContent.Height + 4;
            form_height += pnlContent.Height;
              }

              bool show_verify_checkbox = (cbVerify.Text != String.Empty);
              cbVerify.Visible = show_verify_checkbox;

              // Setup Expanded Info and Buttons panels
              if (ExpandedInfo == String.Empty)
              {
            pnlExpandedInfo.Visible = false;
            lbShowHideDetails.Visible = false;
            cbVerify.Top = 12;
            pnlButtons.Height = 40;
              }
              else
              {
            AdjustLabelHeight(lbExpandedInfo);
            pnlExpandedInfo.Height = lbExpandedInfo.Height + 4;
            pnlExpandedInfo.Visible = m_Expanded;
            lbShowHideDetails.Text = (m_Expanded ? "        Hide details" : "        Show details");
            lbShowHideDetails.ImageIndex = (m_Expanded ? 0 : 3);
            if (!show_verify_checkbox)
              pnlButtons.Height = 40;
            if (m_Expanded)
              form_height += pnlExpandedInfo.Height;
              }

              // Setup RadioButtons
              pnlRadioButtons.Visible = (m_radioButtons != String.Empty);
              if (m_radioButtons != String.Empty)
              {
            string[] arr = m_radioButtons.Split(new char[] { '|' });
            int pnl_height = 12;
            for (int i = 0; i < arr.Length; i++)
            {
              RadioButton rb = new RadioButton();
              rb.Parent = pnlRadioButtons;
              rb.Location = new Point(60, 4 + (i * rb.Height));
              rb.Text = arr[i];
              rb.Tag = i;
              rb.Checked = (m_defaultButtonIndex == i);
              rb.Width = this.Width - rb.Left - 15;
              pnl_height += rb.Height;
              m_radioButtonCtrls.Add(rb);
            }
            pnlRadioButtons.Height = pnl_height;
            form_height += pnlRadioButtons.Height;
              }

              // Setup CommandButtons
              pnlCommandButtons.Visible = (m_commandButtons != String.Empty);
              if (m_commandButtons != String.Empty)
              {
            string[] arr = m_commandButtons.Split(new char[] { '|' });
            int t = 8;
            int pnl_height = 16;
            for (int i = 0; i < arr.Length; i++)
            {
              CommandButton btn = new CommandButton();
              btn.Parent = pnlCommandButtons;
              btn.Location = new Point(50, t);
              if (m_isVista)  // <- tweak font if vista
            btn.Font = new Font(btn.Font, FontStyle.Regular);
              btn.Text = arr[i];
              btn.Size = new Size(this.Width - btn.Left - 15, btn.GetBestHeight());
              t += btn.Height;
              pnl_height += btn.Height;
              btn.Tag = i;
              btn.Click += new EventHandler(CommandButton_Click);
              if (i == m_defaultButtonIndex)
            m_focusControl = btn;
            }
            pnlCommandButtons.Height = pnl_height;
            form_height += pnlCommandButtons.Height;
              }

              // Setup Buttons
              switch (m_Buttons)
              {
            case TaskDialogButtons.YesNo:
              bt1.Visible = false;
              bt2.Text = "&Yes";
              bt2.DialogResult = DialogResult.Yes;
              bt3.Text = "&No";
              bt3.DialogResult = DialogResult.No;
              this.AcceptButton = bt2;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.YesNoCancel:
              bt1.Text = "&Yes";
              bt1.DialogResult = DialogResult.Yes;
              bt2.Text = "&No";
              bt2.DialogResult = DialogResult.No;
              bt3.Text = "&Cancel";
              bt3.DialogResult = DialogResult.Cancel;
              this.AcceptButton = bt1;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.OKCancel:
              bt1.Visible = false;
              bt2.Text = "&OK";
              bt2.DialogResult = DialogResult.OK;
              bt3.Text = "&Cancel";
              bt3.DialogResult = DialogResult.Cancel;
              this.AcceptButton = bt2;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.OK:
              bt1.Visible = false;
              bt2.Visible = false;
              bt3.Text = "&OK";
              bt3.DialogResult = DialogResult.OK;
              this.AcceptButton = bt3;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.Close:
              bt1.Visible = false;
              bt2.Visible = false;
              bt3.Text = "&Close";
              bt3.DialogResult = DialogResult.Cancel;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.Cancel:
              bt1.Visible = false;
              bt2.Visible = false;
              bt3.Text = "&Cancel";
              bt3.DialogResult = DialogResult.Cancel;
              this.CancelButton = bt3;
              break;
            case TaskDialogButtons.None:
              bt1.Visible = false;
              bt2.Visible = false;
              bt3.Visible = false;
              break;
              }

              this.ControlBox = (Buttons == TaskDialogButtons.Cancel ||
                         Buttons == TaskDialogButtons.Close ||
                         Buttons == TaskDialogButtons.OKCancel ||
                         Buttons == TaskDialogButtons.YesNoCancel);

              if (!show_verify_checkbox && ExpandedInfo == String.Empty && m_Buttons == TaskDialogButtons.None)
            pnlButtons.Visible = false;
              else
            form_height += pnlButtons.Height;

              pnlFooter.Visible = (Footer != String.Empty);
              if (Footer != String.Empty)
              {
            AdjustLabelHeight(lbFooter);
            pnlFooter.Height = Math.Max(28, lbFooter.Height + 16);
            switch (m_footerIcon)
            {
              case SysIcons.Information:
            // SystemIcons.Information.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
            imgFooter.Image = ResizeBitmap(SystemIcons.Information.ToBitmap(), 16, 16);
            break;
              case SysIcons.Question:
            // SystemIcons.Question.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
            imgFooter.Image = ResizeBitmap(SystemIcons.Question.ToBitmap(), 16, 16);
            break;
              case SysIcons.Warning:
            // SystemIcons.Warning.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
            imgFooter.Image = ResizeBitmap(SystemIcons.Warning.ToBitmap(), 16, 16);
            break;
              case SysIcons.Error:
            // SystemIcons.Error.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
            imgFooter.Image = ResizeBitmap(SystemIcons.Error.ToBitmap(), 16, 16);
            break;
            }
            form_height += pnlFooter.Height;
              }

              this.ClientSize = new Size(ClientSize.Width, form_height);

              m_formBuilt = true;
        }
예제 #2
0
        public void BuildForm()
        {
            int form_height = 0;

            // Setup Main Instruction
            switch (m_mainIcon)
            {
            case SysIcons.Information: imgMain.Image = SystemIcons.Information.ToBitmap(); break;

            case SysIcons.Question: imgMain.Image = SystemIcons.Question.ToBitmap(); break;

            case SysIcons.Warning: imgMain.Image = SystemIcons.Warning.ToBitmap(); break;

            case SysIcons.Error: imgMain.Image = SystemIcons.Error.ToBitmap(); break;
            }

            //AdjustLabelHeight(lbMainInstruction);
            //pnlMainInstruction.Height = Math.Max(41, lbMainInstruction.Height + 16);
            if (m_mainInstructionHeight == 0)
            {
                GetMainInstructionTextSizeF();
            }
            pnlMainInstruction.Height = Math.Max(41, m_mainInstructionHeight + 16);

            form_height += pnlMainInstruction.Height;

            // Setup Content
            pnlContent.Visible = (Content != "");
            if (Content != "")
            {
                AdjustLabelHeight(lbContent);
                pnlContent.Height = lbContent.Height + 4;
                form_height      += pnlContent.Height;
            }

            bool show_verify_checkbox = (cbVerify.Text != "");

            cbVerify.Visible = show_verify_checkbox;

            // Setup Expanded Info and Buttons panels
            if (ExpandedInfo == "")
            {
                pnlExpandedInfo.Visible   = false;
                lbShowHideDetails.Visible = false;
                cbVerify.Top      = 12;
                pnlButtons.Height = 40;
            }
            else
            {
                AdjustLabelHeight(lbExpandedInfo);
                pnlExpandedInfo.Height       = lbExpandedInfo.Height + 4;
                pnlExpandedInfo.Visible      = m_Expanded;
                lbShowHideDetails.Text       = (m_Expanded ? "        Hide details" : "        Show details");
                lbShowHideDetails.ImageIndex = (m_Expanded ? 0 : 3);
                if (!show_verify_checkbox)
                {
                    pnlButtons.Height = 40;
                }
                if (m_Expanded)
                {
                    form_height += pnlExpandedInfo.Height;
                }
            }

            // Setup RadioButtons
            pnlRadioButtons.Visible = (m_radioButtons != "");
            if (m_radioButtons != "")
            {
                string[] arr        = m_radioButtons.Split(new char[] { '|' });
                int      pnl_height = 12;
                for (int i = 0; i < arr.Length; i++)
                {
                    RadioButton rb = new RadioButton();
                    rb.Parent   = pnlRadioButtons;
                    rb.Location = new Point(60, 4 + (i * rb.Height));
                    rb.Text     = arr[i];
                    rb.Tag      = i;
                    rb.Checked  = (m_defaultButtonIndex == i);
                    rb.Width    = this.Width - rb.Left - 15;
                    pnl_height += rb.Height;
                    m_radioButtonCtrls.Add(rb);
                }
                pnlRadioButtons.Height = pnl_height;
                form_height           += pnlRadioButtons.Height;
            }

            // Setup CommandButtons
            pnlCommandButtons.Visible = (m_commandButtons != "");
            if (m_commandButtons != "")
            {
                string[] arr        = m_commandButtons.Split(new char[] { '|' });
                int      t          = 8;
                int      pnl_height = 16;
                for (int i = 0; i < arr.Length; i++)
                {
                    CommandButton btn = new CommandButton();
                    btn.Parent   = pnlCommandButtons;
                    btn.Location = new Point(50, t);
                    if (m_isVista) // <- tweak font if vista
                    {
                        btn.Font = new Font(btn.Font, FontStyle.Regular);
                    }
                    btn.Text    = arr[i];
                    btn.Size    = new Size(this.Width - btn.Left - 15, btn.GetBestHeight());
                    t          += btn.Height;
                    pnl_height += btn.Height;
                    btn.Tag     = i;
                    btn.Click  += new EventHandler(CommandButton_Click);
                    if (i == m_defaultButtonIndex)
                    {
                        m_focusControl = btn;
                    }
                }
                pnlCommandButtons.Height = pnl_height;
                form_height += pnlCommandButtons.Height;
            }

            // Setup Buttons
            switch (m_Buttons)
            {
            case TaskDialogButtons.YesNo:
                bt1.Visible       = false;
                bt2.Text          = "&Yes";
                bt2.DialogResult  = DialogResult.Yes;
                bt3.Text          = "&No";
                bt3.DialogResult  = DialogResult.No;
                this.AcceptButton = bt2;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.YesNoCancel:
                bt1.Text          = "&Yes";
                bt1.DialogResult  = DialogResult.Yes;
                bt2.Text          = "&No";
                bt2.DialogResult  = DialogResult.No;
                bt3.Text          = "&Cancel";
                bt3.DialogResult  = DialogResult.Cancel;
                this.AcceptButton = bt1;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.OKCancel:
                bt1.Visible       = false;
                bt2.Text          = "&OK";
                bt2.DialogResult  = DialogResult.OK;
                bt3.Text          = "&Cancel";
                bt3.DialogResult  = DialogResult.Cancel;
                this.AcceptButton = bt2;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.OK:
                bt1.Visible       = false;
                bt2.Visible       = false;
                bt3.Text          = "&OK";
                bt3.DialogResult  = DialogResult.OK;
                this.AcceptButton = bt3;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.Close:
                bt1.Visible       = false;
                bt2.Visible       = false;
                bt3.Text          = "&Close";
                bt3.DialogResult  = DialogResult.Cancel;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.Cancel:
                bt1.Visible       = false;
                bt2.Visible       = false;
                bt3.Text          = "&Cancel";
                bt3.DialogResult  = DialogResult.Cancel;
                this.CancelButton = bt3;
                break;

            case TaskDialogButtons.None:
                bt1.Visible = false;
                bt2.Visible = false;
                bt3.Visible = false;
                break;
            }

            this.ControlBox = (Buttons == TaskDialogButtons.Cancel ||
                               Buttons == TaskDialogButtons.Close ||
                               Buttons == TaskDialogButtons.OKCancel ||
                               Buttons == TaskDialogButtons.YesNoCancel);

            if (!show_verify_checkbox && ExpandedInfo == "" && m_Buttons == TaskDialogButtons.None)
            {
                pnlButtons.Visible = false;
            }
            else
            {
                form_height += pnlButtons.Height;
            }

            pnlFooter.Visible = (Footer != "");
            if (Footer != "")
            {
                AdjustLabelHeight(lbFooter);
                pnlFooter.Height = Math.Max(28, lbFooter.Height + 16);
                switch (m_footerIcon)
                {
                case SysIcons.Information:
                    // SystemIcons.Information.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
                    imgFooter.Image = ResizeBitmap(SystemIcons.Information.ToBitmap(), 16, 16);
                    break;

                case SysIcons.Question:
                    // SystemIcons.Question.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
                    imgFooter.Image = ResizeBitmap(SystemIcons.Question.ToBitmap(), 16, 16);
                    break;

                case SysIcons.Warning:
                    // SystemIcons.Warning.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
                    imgFooter.Image = ResizeBitmap(SystemIcons.Warning.ToBitmap(), 16, 16);
                    break;

                case SysIcons.Error:
                    // SystemIcons.Error.ToBitmap().GetThumbnailImage(16, 16, null, IntPtr.Zero);
                    imgFooter.Image = ResizeBitmap(SystemIcons.Error.ToBitmap(), 16, 16);
                    break;
                }
                form_height += pnlFooter.Height;
            }

            this.ClientSize = new Size(ClientSize.Width, form_height);

            m_formBuilt = true;
        }