Panel.Dock : Panel « System.Windows.Forms « C# / C Sharp by API






Panel.Dock

 

using System;
using System.Drawing;
using System.Windows.Forms;
   
class ToggleButtons: Form
{
     protected Panel   panel = new Panel();
     protected ToolBar tbar;
     protected string  strText = "Toggle";
     protected Color   clrText = SystemColors.WindowText;
     FontStyle         fontstyle = FontStyle.Regular;
   
     public static void Main()
     {
          Application.Run(new ToggleButtons());
     }
     public ToggleButtons()
     {
          panel.Parent = this;
          panel.Dock = DockStyle.Fill;
          panel.BackColor = SystemColors.Window;
          panel.ForeColor = SystemColors.WindowText;
          panel.Resize += new EventHandler(PanelOnResize);
          panel.Paint += new PaintEventHandler(PanelOnPaint);
   
          Bitmap bm = new Bitmap(GetType(), "ToggleButtons.bmp");
   
          ImageList imglst = new ImageList();
          imglst.ImageSize = new Size(bm.Width / 4, bm.Height);
          imglst.Images.AddStrip(bm);
          imglst.TransparentColor = Color.White;
   
          tbar = new ToolBar();
          tbar.ImageList = imglst;
          tbar.Parent = this;
          tbar.ShowToolTips = true;
          tbar.ButtonClick += new ToolBarButtonClickEventHandler(ToolBarOnClick);
   
          FontStyle[] afs = { FontStyle.Bold, FontStyle.Italic,
                              FontStyle.Underline, FontStyle.Strikeout };
   
          for (int i = 0; i < 4; i++)
          {
               ToolBarButton tbarbtn = new ToolBarButton();
               tbarbtn.ImageIndex = i;
               tbarbtn.Style = ToolBarButtonStyle.ToggleButton;
               tbarbtn.ToolTipText = afs[i].ToString();
               tbarbtn.Tag = afs[i];
   
               tbar.Buttons.Add(tbarbtn);
          }
     }
     void ToolBarOnClick(object obj, ToolBarButtonClickEventArgs tbbcea)
     {
          ToolBarButton tbarbtn = tbbcea.Button;
   
          if (tbarbtn.Tag == null ||
              tbarbtn.Tag.GetType() != typeof(FontStyle))
               return;
   
          if (tbarbtn.Pushed)
               fontstyle |= (FontStyle) tbarbtn.Tag;
          else
               fontstyle &= ~(FontStyle) tbarbtn.Tag;
   
          panel.Invalidate();
     }
     void PanelOnResize(object obj, EventArgs ea)
     {
          Panel panel = (Panel) obj;
          panel.Invalidate();
     }
     void PanelOnPaint(object obj, PaintEventArgs pea)
     {
          Panel    panel = (Panel) obj;
          Graphics grfx  = pea.Graphics;
          Font     font  = new Font("Times New Roman", 72, fontstyle);
          SizeF    sizef = grfx.MeasureString(strText, font);
   
          grfx.DrawString(strText, font, new SolidBrush(clrText),
                          (panel.Width - sizef.Width) / 2,
                          (panel.Height - sizef.Height) / 2);
     }
}

   
  








Related examples in the same category

1.new Panel()
2.extends Panel
3.Panel.AutoScroll
4.Panel.AutoScrollPosition
5.Panel.DockPadding.
6.Panel.Paint
7.Panel.Resize