我正在尝试将项目向上/向下移动到列表框但是不断收到错误,不知道如何修复它。该错误与“listBox1.Items.Remove(selected);
”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace company1
{
public partial class Form1 : Form
{
List<Configuration> lines = new List<Configuration>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
//Read in every line in the file
using (StreamReader reader = new StreamReader("file.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
//string textfile = line;
string[] myarray = new string[] { "\\n" };
string[] parts = new string[9];
parts = line.Split(myarray, StringSplitOptions.RemoveEmptyEntries);
lines.Add(new Configuration(parts[0], int.Parse(parts[1]), int.Parse(parts[2])));
line = reader.ReadLine();
}
}
listBox1.DataSource = lines;
listBox1.DisplayMember = "CompanyName";
}
private void moveup_button_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count > 0)
{
object selected = listBox1.SelectedItem;
int indx = listBox1.Items.IndexOf(selected);
int totl = listBox1.Items.Count;
if (indx == 0)
{
listBox1.Items.Remove(selected);
listBox1.Items.Insert(totl - 1, selected);
listBox1.SetSelected(totl - 1, true);
}
else
{
listBox1.Items.Remove(selected);
listBox1.Items.Insert(indx - 1, selected);
listBox1.SetSelected(indx - 1, true);
}
}
}
private void movedown_button_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count > 0)
{
object selected = listBox1.SelectedItem;
int indx = listBox1.Items.IndexOf(selected);
int totl = listBox1.Items.Count;
if (indx == totl - 1)
{
listBox1.Items.Remove(selected);
listBox1.Items.Insert(0, selected);
listBox1.SetSelected(0, true);
}
else
{
listBox1.Items.Remove(selected);
listBox1.Items.Insert(indx + 1, selected);
listBox1.SetSelected(indx + 1, true);
}
}
}
}
}
答案 0 :(得分:5)
使用BindingList对象:
答案 1 :(得分:0)
Conn obcon = new Conn();
SqlConnection ob = new SqlConnection(obcon.strCon);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = ob;
SqlCommand ds = da.SelectCommand;
ds.CommandText = "Select* from UserManagement";
ds.CommandType = CommandType.Text;
DataTable dt = new DataTable();
da.Fill(dt);
DataTable dtt = new DataTable();
dtt.Columns.Add("FullName");
dtt.Rows.Add();
dtt.Rows[0]["FullName"] = "Select Name";
for (int i = 0; i < dt.Rows.Count; i++)
{
dtt.Rows.Add();
dtt.Rows[i + 1]["FullName"] = dt.Rows[i][0].ToString();
}
cmbFindUser.DataSource = dtt;
cmbFindUser.DisplayMember = "FullName";
cmbFindUser.ValueMember = "FullName";