/// <summary>
/// 设置按钮是否可用
/// </summary>
private void SetBtnEnable()
{
if (listBoxNewPaper.Items.Count == 0 && listBoxOldPaper.Items.Count == 0)
{
button1.Enabled = false;
button3.Enabled = false;
button5.Enabled = false;
button4.Enabled = false;
}
else if (listBoxNewPaper.Items.Count == 0 && listBoxOldPaper.Items.Count != 0)
{
button1.Enabled = true;
button3.Enabled = true;
button5.Enabled = false;
button4.Enabled = false;
}
else if (listBoxOldPaper.Items.Count == 0 && listBoxNewPaper.Items.Count != 0)
{
button1.Enabled = false;
button3.Enabled = false;
button5.Enabled = true;
button4.Enabled = true;
}
else
{
button1.Enabled = true;
button3.Enabled = true;
button5.Enabled = true;
button4.Enabled = true;
}
}
/// <summary>
/// 增加listbox的值的方法
/// </summary>
/// <param name="sourceBox"></param>
/// <param name="targetBox"></param>
private void AddItemFromSourceListBox(ListBox sourceBox, ListBox targetBox)
{
for (int i = 0; i < sourceBox.SelectedItems.Count; i++)
{
if (!targetBox.Items.Contains(sourceBox.SelectedItems[i]))
{
targetBox.Items.Add(sourceBox.SelectedItems[i]);
}
}
}
/// <summary>
/// 删除listbox的值的方法
/// </summary>
/// <param name="listControl"></param>
private void RemoveSelectedItem(ListBox listControl)
{
while (listControl.SelectedIndex != -1)
{
listControl.Items.RemoveAt(listControl.SelectedIndex);
}
}
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
if (listBoxOldPaper.SelectedItem == null)
{
return;
}
else
{
AddItemFromSourceListBox(listBoxOldPaper, listBoxNewPaper);
RemoveSelectedItem(listBoxOldPaper);
if (listBoxOldPaper.Items.Count > 0)
{
listBoxOldPaper.SelectedIndex = 0;
}
listBoxNewPaper.SelectedIndex = listBoxNewPaper.Items.Count - 1; //设置当前选中项
SetBtnEnable();
}
SetBtnEnable(); //设置按钮是否可用
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click(object sender, EventArgs e)
{
if (listBoxNewPaper.SelectedItem != null)
{
AddItemFromSourceListBox(listBoxNewPaper, listBoxOldPaper);
RemoveSelectedItem(listBoxNewPaper);
listBoxOldPaper.SelectedIndex = listBoxOldPaper.Items.Count - 1; //设置当前选中项
}
SetBtnEnable();
}
/// <summary>
/// 全部增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBoxOldPaper.Items.Count; i++)
{
if (!listBoxNewPaper.Items.Contains(listBoxOldPaper.Items[i]))
{
listBoxNewPaper.Items.Add(listBoxOldPaper.Items[i]);
}
}
listBoxOldPaper.Items.Clear(); //清空原有的项
SetBtnEnable();
}
/// <summary>
/// 全部删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click(object sender, EventArgs e)
{
listBoxOldPaper.Items.Clear(); //先清空源集合的所有项
listBoxNewPaper.Items.Clear(); //清空新集合的所有项
LoadListBox(); //重新绑定源集合的项
SetBtnEnable();
}