将控制位置设置为原始

将控制位置设置为原始

问题描述:

是否有任何方法将控制位置设置为原始(初始化时间)?
我在许多控件上改变位置,在某些情况下,我必须将它们的位置更改为原始位置。将控制位置设置为原始

只记得原来的值,然后重新设置 - 就像

oldX = control.X 

您的新设置的东西之前,所以,如果你真的有很多的控制,你可以以这样的

private Dictionary<Control, int> OldValuesX = new Dictionary<Control, int>(); 

public void SaveProperties() 
{ 
    foreach (var ctr in this.Controls) 
    OldValuesX[ctr] = ctr.X; 
} 

和更高版本

public void ResetProperties(Control ctr) 
{ 
    ctr.X = OldValuesX[ctr]; 
} 

正好满足您的需要(例如,保存更多属性比Tuple中的X值,自定义结构等。

+0

我认为他的问题也是关于何时保存原始坐标。这将是OnFormShown(或它叫什么)。 – TheBlastOne

+0

是的Form_Load将是通常的地方 - 无论如何这只会在InitializeComponent();因为在那里设置了控件和值(这是在构造函数中调用的,所以你可以把SaveProperties放在那里) – Carsten