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