// Get the controls index
int zIndex = parentControl.Controls.GetChildIndex(textBox);
// Bring it to the front
textBox.BringToFront();
// Do something...
// Then send it back again
parentControl.Controls.SetChildIndex(textBox, zIndex);
/// <summary>
/// When used with the FlowLayoutPanel this will move a control up or down
/// </summary>
/// <param name="sender"></param>
/// <param name="UpDown"></param>
private void C_On_Move(object sender, int UpDown)
{
//If UpDown = 1 Move UP, If UpDown = 0 Move DOWN
Control c = (Control)sender;
// Get the controls index
int zIndex = _flowLayoutPanel1.Controls.GetChildIndex(c);
if (UpDown==1 && zIndex > 0)
{
// Move up one
_flowLayoutPanel1.Controls.SetChildIndex(c, zIndex - 1);
}
if (UpDown == 0 && zIndex < _flowLayoutPanel1.Controls.Count-1)
{
// Move down one
_flowLayoutPanel1.Controls.SetChildIndex(c, zIndex + 1);
}
}
4条答案
按热度按时间qnyhuwrf1#
呼叫父代
Controls
集合的GetChildIndex
和SetChildIndex
方法。ulydmbyx2#
没有VB中的Z顺序,但您可以使用
GetChildIndex
和SetChildIndex
方法手动获取和设置它们的索引。Here这里有一个使用它的例子。你可能需要记录每个控件的索引,这样你就可以在它完成的时候把它设置回它。
类似这样的东西可能就是你所追求的:
nnvyjq4y3#
与FlowLayoutPanel一起使用时,这将向上或向下移动控件
velaa5lx4#
In C升调
控件.设置值(面板. ZIndex属性,0);
控件是您的控件。0是ZIndex的索引。0是默认值。