Example #1
0
        /// <summary>
        /// This member overrides the <see cref="System.Windows.Forms.Control.OnPaint"/> method.
        /// </summary>
        /// <param name="pe">A <see cref="System.Windows.Forms.PaintEventArgs"/> that contains the event data.</param>
        protected override void OnPaint(PaintEventArgs pe)
        {
            // Calling the base class OnPaint
            base.OnPaint(pe);

            // clear everything
            pe.Graphics.Clear(BackColor);

            // draw the combobox behind, if visual styles are enabled and available
            if ((ComboBoxRenderer.IsSupported) & (Application.RenderWithVisualStyles))
            {
                ComboBoxRenderer.DrawTextBox(pe.Graphics, this.ClientRectangle, ComboBoxState.Normal);
            }

            // draw the icon
            if (displayIcon)
            {
                DrawIconEventArgs e = new DrawIconEventArgs(pe.Graphics, iconRect);
                EventHandler <DrawIconEventArgs> handler = this.DrawIcon;
                if (handler != null)
                {
                    handler(this, e);
                }
            }

            // draw the text
            this.DrawTextArea(pe.Graphics);

            // draw the button
            DrawButton(pe.Graphics, ComboBoxState.Normal);

            // draw the border using normal ControlPaint, if visual styles are not available.
            if (!(ComboBoxRenderer.IsSupported) | !(Application.RenderWithVisualStyles))
            {
                ControlPaint.DrawBorder3D(pe.Graphics, 0, 0, Width, Height, Border3DStyle.Sunken);
            }
        }
 private void displayControl_DrawIcon(object sender, DrawIconEventArgs e)
 {
     this.RaiseDrawIconEvent(e);
 }