Image Clip : Clipboard « GUI Windows Form « C# / C Sharp






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();
    }
}


           
       








Related examples in the same category

1.Copying to the Clipboard.
2.Copying from the Clipboard.
3.Clip Text
4.Rich-Text Paste
5.Clipboard Viewer (All Formats)