Mega Code Archive

 
Categories / C# / GUI Windows Form
 

Image Clip

using System; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms; class ImageClip : Form {     MenuItem miCut, miCopy, miPaste, miDel;     Image image;     public static void Main() {         Application.Run(new ImageClip());     }     public ImageClip() {         Text = "Image Clip";         MenuItem mi = new MenuItem("&Edit");         mi.Popup += new EventHandler(MenuEditOnPopup);         Menu.MenuItems.Add(mi);         int index = Menu.MenuItems.Count - 1;         miCut = new MenuItem("Cu&t");         miCut.Click += new EventHandler(MenuEditCutOnClick);         miCut.Shortcut = Shortcut.CtrlX;         Menu.MenuItems[index].MenuItems.Add(miCut);         miCopy = new MenuItem("&Copy");         miCopy.Click += new EventHandler(MenuEditCopyOnClick);         miCopy.Shortcut = Shortcut.CtrlC;         Menu.MenuItems[index].MenuItems.Add(miCopy);         miPaste = new MenuItem("&Paste");         miPaste.Click += new EventHandler(MenuEditPasteOnClick);         miPaste.Shortcut = Shortcut.CtrlV;         Menu.MenuItems[index].MenuItems.Add(miPaste);         miDel = new MenuItem("De&lete");         miDel.Click += new EventHandler(MenuEditDelOnClick);         miDel.Shortcut = Shortcut.Del;         Menu.MenuItems[index].MenuItems.Add(miDel);     }     void MenuEditOnPopup(object obj, EventArgs ea) {         miCut.Enabled = miCopy.Enabled = miDel.Enabled = image != null;         IDataObject data = Clipboard.GetDataObject();         miPaste.Enabled = data.GetDataPresent(typeof(Bitmap)) || data.GetDataPresent(typeof(Metafile));     }     void MenuEditCutOnClick(object obj, EventArgs ea) {         MenuEditCopyOnClick(obj, ea);         MenuEditDelOnClick(obj, ea);     }     void MenuEditCopyOnClick(object obj, EventArgs ea) {         Clipboard.SetDataObject(image, true);     }     void MenuEditPasteOnClick(object obj, EventArgs ea) {         IDataObject data = Clipboard.GetDataObject();         if (data.GetDataPresent(typeof(Metafile)))             image = (Image)data.GetData(typeof(Metafile));         else if (data.GetDataPresent(typeof(Bitmap)))             image = (Image)data.GetData(typeof(Bitmap));         Invalidate();     }     void MenuEditDelOnClick(object obj, EventArgs ea) {         image = null;         Invalidate();     } }