Worms4Editor/W4Gui/ListWithAddAndDel.cs

89 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace W4Gui
{
public partial class ListWithAddAndDel : UserControl
{
public ListWithAddAndDel()
{
InitializeComponent();
}
public string[] Items
{
get
{
int itmCnt = lst.Items.Count;
string[] items = new string[itmCnt];
for (int i = 0; i < itmCnt; i++)
items[i] = lst.Items[i].ToString();
return items;
}
}
public void Clear()
{
lst.Items.Clear();
}
public void AddItem(string item)
{
if(item.Trim() != "")
lst.Items.Add(item);
}
private void addBtn_Click(object sender, EventArgs e)
{
string val = newEntry.Text.Trim();
AddItem(val);
}
private void delBtn_Click(object sender, EventArgs e)
{
int sel = lst.SelectedIndex;
if (sel >= 0)
lst.Items.RemoveAt(sel);
}
private void updateBtn_Click(object sender, EventArgs e)
{
int sel = lst.SelectedIndex;
if(sel >= 0)
lst.Items[sel] = newEntry.Text.Trim();
}
private void newEntry_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyData == Keys.Enter)
{
e.Handled = true;
updateBtn_Click(sender, e);
}
}
private void lst_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyData == Keys.Delete)
{
e.Handled = true;
delBtn_Click(sender, e);
}
}
private void lst_SelectedIndexChanged(object sender, EventArgs e)
{
if (lst.SelectedIndex >= 0)
newEntry.Text = lst.Items[lst.SelectedIndex].ToString();
}
}
}