Mega Code Archive

 
Categories / C# / GUI Windows Form
 

Status bar

using System;   using System.Drawing;   using System.Collections;   using System.ComponentModel;   using System.Windows.Forms;   using System.Data;   public class MainForm : System.Windows.Forms.Form   {     private StatusBar statusBar = new StatusBar();     private StatusBarPanel sbPnlPrompt = new StatusBarPanel();     private StatusBarPanel sbPnlTime = new StatusBarPanel();     private Timer timer1 = new Timer();     private MainMenu mainMenu;     private System.ComponentModel.Container components;     public MainForm()     {       InitializeComponent();       Text = "Status Bar Example";       CenterToScreen();       BackColor = Color.CadetBlue;       // Configure the timer.       timer1.Interval = 1000;       timer1.Enabled = true;       timer1.Tick += new EventHandler(timer1_Tick);       this.MenuComplete += new EventHandler(StatusForm_MenuDone);       BuildMenuSystem();       BuildStatBar();     }     private void InitializeComponent()     {       this.components = new System.ComponentModel.Container();       this.Size = new System.Drawing.Size(300,300);       this.Text = "Form1";     }     static void Main()      {       Application.Run(new MainForm());     }     // Clicked handlers.     private void FileExit_Clicked(object sender, EventArgs e)      {           this.Close();     }              // Help | About Menu item handler     private void HelpAbout_Clicked(object sender, EventArgs e)      {       MessageBox.Show("The amazing menu app...");     }              // Selected handlers.     private void FileExit_Selected(object sender, EventArgs e)      {       sbPnlPrompt.Text = "Terminates this app";          }     private void HelpAbout_Selected(object sender, EventArgs e)      {       sbPnlPrompt.Text = "Displays app info";     }     // Other handlers...     private void StatusForm_MenuDone(object sender, EventArgs e)      {       sbPnlPrompt.Text = "Ready";     }     private void timer1_Tick(object sender, EventArgs e)      {       DateTime t = DateTime.Now;       string s = t.ToLongTimeString() ;       sbPnlTime.Text = s ;         }     private void BuildMenuSystem()     {       mainMenu = new MainMenu();              MenuItem miFile = mainMenu.MenuItems.Add("&File");                 miFile.MenuItems.Add(new MenuItem("E&xit",new EventHandler(this.FileExit_Clicked), Shortcut.CtrlX));       miFile.MenuItems[0].Select += new EventHandler(FileExit_Selected);       MenuItem miHelp = mainMenu.MenuItems.Add("Help");         miHelp.MenuItems.Add(new MenuItem("&About",  new EventHandler(this.HelpAbout_Clicked), Shortcut.CtrlA));       miHelp.MenuItems[0].Select += new EventHandler(HelpAbout_Selected);       this.Menu = mainMenu;           }     private void BuildStatBar()     {       // Configure the status bar.       statusBar.ShowPanels = true;       statusBar.Panels.AddRange(new StatusBarPanel[] {sbPnlPrompt, sbPnlTime});              // Configure prompt panel.       sbPnlPrompt.BorderStyle = StatusBarPanelBorderStyle.None;       sbPnlPrompt.AutoSize = StatusBarPanelAutoSize.Spring;       sbPnlPrompt.Width = 62;       sbPnlPrompt.Text = "Ready";              // Configure time pane.       sbPnlTime.Alignment = HorizontalAlignment.Right;       sbPnlTime.Width = 76;       try       {         Icon i = new Icon("status.ico");         sbPnlPrompt.Icon = i;       }       catch(Exception e)       {         Console.WriteLine(e.Message);       }       this.Controls.Add(statusBar);       }   }