使用用户定义的MessageBoxButton自定义Dialogresult MessageBox

时间:2013-12-23 11:19:15

标签: c# dialogresult

我想在按钮上创建一个带有我自己指定标签的DialogResult MessageBox。我知道使用YesNo选项按钮编码DR MessageBox。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用自己的自定义按钮和图标以及要显示的标签制作自定义消息框。 创建构造函数如下。 添加属性 DisplayData 以存储要显示的消息框数据。

    public void CustomMessage(string title, string dataTodisplay, string leftButton, string rightButton, MessageBoxIcon iconSet)
    {
        // Set up some properties.
        this.Font = SystemFonts.MessageBoxFont;
        this.ForeColor = SystemColors.WindowText;
        InitializeComponent();
        DisplayData = dataTodisplay;
        // Do some measurements with Graphics.
        SetFormData(dataTodisplay);

        // Set the title, and some Text properties.
        if (string.IsNullOrEmpty(title) == false)
        {
            this.Text = title;
        }
        // Set the left button, which is optional.
        if (string.IsNullOrEmpty(leftButton) == false)
        {
            this.ButtonOK.Text = leftButton;                 
        }
        Else
        {
          this.AcceptButton = ButtonCancel
          this.ButtonCancel.Visible = False
        }
        // Set the PictureBox and the icon.
        if ((iconSet != null))
        {
            ShowMessageBoxIcon(iconSet);
        }

将图标分配到图片框

 private void ShowMessageBoxIcon(MessageBoxIcon iconSet)
    {
        switch (iconSet)
        {
            case MessageBoxIcon.Asterisk:
                PictureBoxIconImage.Image =  Bitmap.FromHicon(SystemIcons.Asterisk.Handle);
                break;
            case MessageBoxIcon.Error:
                PictureBoxIconImage.Image = Bitmap.FromHicon(SystemIcons.Error.Handle);
            /*
             * Add remaining icons here
             * 
             */
        }
       }
        this.ButtonCancel.Text = rightButton
      }

答案 1 :(得分:0)

创建自己的对话框并放置按钮。您可以为按钮分配对话框结果值。

this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
this.button2.DialogResult = System.Windows.Forms.DialogResult.No;