Example #1
0
        /// <summary>
        /// 引发 Paint 事件
        /// </summary>
        /// <param name="e">包含事件数据的 PaintEventArgs</param>
        protected override void OnPaint(PaintEventArgs e)
        {
            // 设置按钮全不可见
            for (int i = 0; i < 3; i++)
            {
                CharmControls[i].Visible = false;
            }

            // 设置消息框按钮
            switch (mButtonType)
            {
            case MessageBoxButtons.AbortRetryIgnore:
                CharmControls[0].Text    = "终止";
                CharmControls[0].Visible = true;
                CharmControls[1].Text    = "重试";
                CharmControls[1].Visible = true;
                CharmControls[2].Text    = "忽略";
                CharmControls[2].Visible = true;
                break;

            case MessageBoxButtons.OK:
                CharmControls[2].Text    = "确定";
                CharmControls[2].Visible = true;
                break;

            case MessageBoxButtons.OKCancel:
                CharmControls[1].Text    = "确定";
                CharmControls[1].Visible = true;
                CharmControls[2].Text    = "取消";
                CharmControls[2].Visible = true;
                break;

            case MessageBoxButtons.RetryCancel:
                CharmControls[1].Text    = "重试";
                CharmControls[1].Visible = true;
                CharmControls[2].Text    = "取消";
                CharmControls[2].Visible = true;
                break;

            case MessageBoxButtons.YesNo:
                CharmControls[1].Text    = "是";
                CharmControls[1].Visible = true;
                CharmControls[2].Text    = "否";
                CharmControls[2].Visible = true;
                break;

            case MessageBoxButtons.YesNoCancel:
                CharmControls[0].Text    = "是";
                CharmControls[0].Visible = true;
                CharmControls[1].Text    = "否";
                CharmControls[1].Visible = true;
                CharmControls[2].Text    = "取消";
                CharmControls[2].Visible = true;
                break;
            }

            CharmControl.PaintEvent(e.Graphics, CharmControls);
        }