gpt4 book ai didi

C# 保存所有控件的窗体状态

转载 作者:可可西里 更新时间:2023-11-01 10:49:37 28 4
gpt4 key购买 nike

我有一个表单和一些按钮。

当我按下按钮时,windows 窗体控件,如文本框或组框,按钮出现和消失并改变我窗体上的位置,因为它是一个动态窗体:)

但是,我想做的是有一个按钮 ( BACK ),它将使我的表单恢复到按钮操作之前的状态,将控件放回原位并声明他们在行动之前。

我想到了一个 C 类 MyState(),它将具有类似 Form1 数组的内容。我将在该数组中保存表单状态,当我按下 back 按钮时,从数组中获取表单状态的“副本”以及索引状态的索引。

不幸的是,我不知道如何实现它。 :|

任何人都可以告诉我正确的方法吗?

class Mystate
{
private Form1 [] state;

public Mystate(int n)
{
this.state = new Form1[n];
}

public Form1 this[int index]
{
get
{
return state[index];
}
set
{
this.state[index] = value;
}
}
}

最佳答案

听起来您希望表单具有高级撤消/重做功能。

这是一个框架:http://www.codeproject.com/Articles/10576/An-Undo-Redo-Buffer-Framework

这是一个接近但与您的问题不完全相同的答案(虽然实现的模式相同):How to implement good and efficient undo/redo functionality for a TextBox

MementoPattern:http://www.codeproject.com/Articles/18025/Generic-Memento-Pattern-for-Undo-Redo-in-C

关于C# 保存所有控件的窗体状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com