Mega Code Archive

 
Categories / C# / GUI Windows Form
 

Clip Text

using System; using System.Drawing; using System.Windows.Forms;     class ClipText: Form {      string   strText = "Sample text";      MenuItem miCut, miCopy, miPaste;          public static void Main()      {           Application.Run(new ClipText());      }      public ClipText()      {           ResizeRedraw = true;               Menu = new MainMenu();           MenuItem mi = new MenuItem("&Edit");           mi.Popup += new EventHandler(MenuEditOnPopup);           Menu.MenuItems.Add(mi);           miCut = new MenuItem("Cu&t");           miCut.Click += new EventHandler(MenuEditCutOnClick);           miCut.Shortcut = Shortcut.CtrlX;           Menu.MenuItems[0].MenuItems.Add(miCut);               miCopy = new MenuItem("&Copy");           miCopy.Click += new EventHandler(MenuEditCopyOnClick);           miCopy.Shortcut = Shortcut.CtrlC;           Menu.MenuItems[0].MenuItems.Add(miCopy);               miPaste = new MenuItem("&Paste");           miPaste.Click += new EventHandler(MenuEditPasteOnClick);           miPaste.Shortcut = Shortcut.CtrlV;           Menu.MenuItems[0].MenuItems.Add(miPaste);      }      void MenuEditOnPopup(object obj, EventArgs ea)      {           miCut.Enabled = miCopy.Enabled = strText.Length > 0;           miPaste.Enabled = Clipboard.GetDataObject().GetDataPresent(typeof(string));      }      void MenuEditCutOnClick(object obj, EventArgs ea)      {           MenuEditCopyOnClick(obj, ea);           strText = "";           Invalidate();      }      void MenuEditCopyOnClick(object obj, EventArgs ea)      {           Clipboard.SetDataObject(strText, true);      }      void MenuEditPasteOnClick(object obj, EventArgs ea)      {           IDataObject data = Clipboard.GetDataObject();               if (data.GetDataPresent(typeof(string)))                strText = (string) data.GetData(typeof(string));               Invalidate();      }      protected override void OnPaint(PaintEventArgs pea)      {           Graphics grfx = pea.Graphics;           StringFormat strfmt = new StringFormat();           strfmt.Alignment = strfmt.LineAlignment = StringAlignment.Center;               grfx.DrawString(strText, Font, new SolidBrush(ForeColor),                           ClientRectangle, strfmt);      } }