在我关于图像处理的项目中,我需要有撤消/重做按钮。 简单地说我在Bitmaps上做了多个操作然后我分配给了picturebox。 我发现了这篇文章http://www.codeproject.com/Articles/10576/An-Undo-Redo-Buffer-Framework 我根据示例代码中的一个创建了我的Originator。
看起来像那样
class Originator : ISupportMemento
{
private Bitmap state;
public IMemento Memento
{
get
{
Memento mcm = new Memento();
mcm.State = GetMyState();
return mcm;
}
set
{
SetMyState(value.State);
}
}
protected object GetMyState()
{
return state;
}
protected void SetMyState(object newstate)
{
state = (Bitmap)newstate;
}
}
但是当我试图向它提供位图对象时,Compilator会发出错误消息。
UndoBuffer bufferr = new UndoBuffer();
Originator orig;
orig.Memento = (object)_baseimg;
你能帮助我吗,非常抱歉我的英语不好。