public enum MoveItem
{
Up = 0,
Down = 1
}
#region +HustleItem(ListBox lbx, MoveItem whichWay)
#region XML-Doku
/// <summary>
/// Verschiebt das ausgewählte Item um eine Stelle des Indexes hoch/runter.
/// </summary>
/// <param name="lbx">
/// ListBox in der das Item verschoben werden soll.
/// </param>
/// <param name="whichWay">
/// Gibt an in welche Richtung das Item verschoben wird.
/// </param>
#endregion
public static void HustleItem(ListBox lbx, MoveItem whichWay)
{
if (lbx.SelectedItem != null && lbx.SelectedIndex >= 0)
{
int index = lbx.SelectedIndex;
bool delete = false;
object item = lbx.SelectedItem;
if (whichWay == MoveItem.Up && index > 0)
{
lbx.Items.Insert(index - 1, item);
delete = true;
}
else if (whichWay == MoveItem.Down && index < lbx.Items.Count - 1)
{
lbx.Items.Insert(index + 2, item);
delete = true;
}
if (delete)
lbx.Items.RemoveAt(lbx.SelectedIndex);
}
}
#endregion
#region +DeleteItem(ListBox lbx, Label lblCounter)
#region XML-Doku
/// <summary>
/// Löscht das ausgewählte Item aus einer ListBox.
/// </summary>
/// <param name="lbx">
/// Die ListBox in der das Item gelöscht werden soll.
/// </param>
/// <param name="lblCounter">
/// Welches Label aktualisiert werden soll.
/// </param>
#endregion
public static void DeleteItem(ListBox lbx, Label lblCounter)
{
if (lbx.SelectedItem != null)
{
DialogResult result = MessageBox.Show("Soll die Auswahl wirklich gelöscht werden?",
DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " - Löschen",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
if (lbx.SelectedIndex == 0 && lbx.Items.Count == 1)
{
lbx.Items.RemoveAt(lbx.SelectedIndex);
}
else if (lbx.SelectedIndex >= 0)
{
if (lbx.SelectedIndex == lbx.Items.Count - 1)
lbx.Tag = lbx.Items[lbx.SelectedIndex - 1];
else
lbx.Tag = lbx.Items[lbx.SelectedIndex + 1];
lbx.Items.RemoveAt(lbx.SelectedIndex);
}
}
}
}
#endregion