private void con_MoveDownwards_Click(object sender, EventArgs e)
{
StopPreview();
//A frame need to be selected.
if (tvFrames.SelectedNode == null) return;
//If != 0 means that is the Main Node.
if (tvFrames.SelectedNode.GetNodeCount(false) != 0) return;
//This action can't be applied to the bottom frame.
if (tvFrames.SelectedNode.Index == tvFrames.Nodes[0].Nodes.Count - 1) return;
//Copy, RemoveAt, Insert;
var aux = _listFramesEdit[trackBar.Value];
var auxDelay = _listDelayEdit[trackBar.Value];
var auxNode = tvFrames.Nodes[0].Nodes[trackBar.Value];
_listFramesEdit.RemoveAt(trackBar.Value);
_listDelayEdit.RemoveAt(trackBar.Value);
tvFrames.Nodes[0].Nodes.RemoveAt(trackBar.Value);
_listFramesEdit.Insert(trackBar.Value + 1, aux);
_listDelayEdit.Insert(trackBar.Value + 1, auxDelay);
tvFrames.Nodes[0].Nodes.Insert(trackBar.Value + 1, auxNode);
tvFrames.SelectedNode = tvFrames.Nodes[0].Nodes[trackBar.Value + 1];
SelectFrame(trackBar.Value + 1);
DelayUpdate();
GC.Collect();
}