如题....是winfrom的,不是asp.net的
解决方案 »
- 在VS 2010 里怎么制作 安装包程序?
- 如何用在窗体加载时给iframe中的div加上样式
- c#在数据库中创建表时,能否自动为表创建触发器
- 程序员 文档管理软件或制作帮忙文档
- The ScriptManager.SupportsPartialRendering property is set to false
- 在一个产品详细页中,要记录产品被浏览的次数……有不同的产品
- 怎样用C#生成数据表?
- 大家来做一下100分的DataGrid数据过滤问题
- 如何在datagrid中嵌入单选框和复选框?
- 能给一个下载 .NET最新版的网址吗!
- (急急急)T-SQL 还原数据库
- 求一个正则表达式:匹配包含任意字母、数字、加减乘除、下划线的字符串,但不包含纯数字 或 由数字和减号组成的字符串
int index = listBox1.SelectedIndex;
object item = listBox1.Items[index];
listBox1.Items.RemoveAt(index);
//上移
listBox1.Items.Insert(index-1,item);
//下移
listBox1.Items.Insert(index + 1, item);
//置顶
listBox1.Items.Insert(0, item);
//置底
listBox1.Items.Add(item);
index = SelectedIndex -> 获取当前 item 的索引
index > 0 ? -> 判断能否上移
object item = listBox.Items[index-1]; -> 获取上一行的数据,并保存到临时变量
listBox.Items[index-1] = SelectedItem -> 给上一行赋值
SelectedItem = item; 交换完成
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[0] > 0)
{
int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index - 1).ToArray(); Console.WriteLine(string.Join(",", newIndices)); this.listBox1.SelectedItems.Clear(); foreach (int index in newIndices)
{
object obj = this.listBox1.Items[index];
this.listBox1.Items[index] = this.listBox1.Items[index + 1];
this.listBox1.Items[index + 1] = obj;
this.listBox1.SelectedItems.Add(this.listBox1.Items[index]);
}
}
private void button1_Click(object sender, EventArgs e)
{
// 上移
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[0] > 0)
{
int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index - 1).ToArray(); this.listBox1.SelectedItems.Clear(); for (int i = 0; i < newIndices.Length; i++)
{
object obj = this.listBox1.Items[newIndices[i]];
this.listBox1.Items[newIndices[i]] = this.listBox1.Items[newIndices[i] + 1];
this.listBox1.Items[newIndices[i] + 1] = obj;
this.listBox1.SelectedItems.Add(this.listBox1.Items[newIndices[i]]);
}
}
}private void button2_Click(object sender, EventArgs e)
{
// 下移
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[this.listBox1.SelectedIndices.Count - 1] <
this.listBox1.Items.Count - 1)
{
int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index + 1).ToArray(); this.listBox1.SelectedItems.Clear(); for (int i = newIndices.Length; i > 0; i--)
{
object obj = this.listBox1.Items[newIndices[i - 1]];
this.listBox1.Items[newIndices[i - 1]] = this.listBox1.Items[newIndices[i - 1] - 1];
this.listBox1.Items[newIndices[i - 1] - 1] = obj;
this.listBox1.SelectedItems.Add(this.listBox1.Items[newIndices[i - 1]]);
}
}
}private void button3_Click(object sender, EventArgs e)
{
// 置顶
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[0] > 0)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>().ToArray(); int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index - 1).ToArray(); int offest = oldIndices[0]; while (offest-- > 0)
{
this.listBox1.SelectedItems.Clear(); for (int i = 0; i < newIndices.Length; i++)
{
object obj = this.listBox1.Items[newIndices[i]];
this.listBox1.Items[newIndices[i]] = this.listBox1.Items[newIndices[i] + 1];
this.listBox1.Items[newIndices[i] + 1] = obj;
this.listBox1.SelectedItems.Add(this.listBox1.Items[newIndices[i]]);
} newIndices = newIndices.Select(index => index - 1).ToArray();
}
}
}private void button4_Click(object sender, EventArgs e)
{
// 置末
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[this.listBox1.SelectedIndices.Count - 1] <
this.listBox1.Items.Count - 1)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>().ToArray(); int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index + 1).ToArray(); int offest = oldIndices[oldIndices.Length - 1]; while (offest++ < this.listBox1.Items.Count - 1)
{
this.listBox1.SelectedItems.Clear(); for (int i = newIndices.Length; i > 0; i--)
{
object obj = this.listBox1.Items[newIndices[i - 1]];
this.listBox1.Items[newIndices[i - 1]] = this.listBox1.Items[newIndices[i - 1] - 1];
this.listBox1.Items[newIndices[i - 1] - 1] = obj;
this.listBox1.SelectedItems.Add(this.listBox1.Items[newIndices[i - 1]]);
} newIndices = newIndices.Select(index => index + 1).ToArray();
}
}
}
private void button5_Click(object sender, EventArgs e)
{
// 上移
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[0] > 0)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>()
.ToArray(); int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index - 1).ToArray(); object[] objs =
this.listBox1.Items.Cast<object>()
.Select((value, index) => new { value, index })
.Where(item => oldIndices.Contains(item.index))
.Select(item => item.value).ToArray(); for (int i = oldIndices.Length; i > 0; i--)
this.listBox1.Items.RemoveAt(oldIndices[i - 1]); for (int i = 0; i < newIndices.Length; i++)
{
this.listBox1.Items.Insert(newIndices[i], objs[i]);
this.listBox1.SelectedItems.Add(objs[i]);
}
}
}private void button6_Click(object sender, EventArgs e)
{
// 下移
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[this.listBox1.SelectedIndices.Count - 1] <
this.listBox1.Items.Count - 1)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>()
.ToArray(); int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index + 1).ToArray(); object[] objs =
this.listBox1.Items.Cast<object>()
.Select((value, index) => new { value, index })
.Where(item => oldIndices.Contains(item.index))
.Select(item => item.value).ToArray(); for (int i = oldIndices.Length; i > 0; i--)
this.listBox1.Items.RemoveAt(oldIndices[i - 1]); for (int i = 0; i < newIndices.Length; i++)
{
this.listBox1.Items.Insert(newIndices[i], objs[i]);
this.listBox1.SelectedItems.Add(objs[i]);
}
}
}private void button7_Click(object sender, EventArgs e)
{
// 置顶
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[0] > 0)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>()
.ToArray(); int offest = oldIndices[0]; int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index - offest).ToArray(); object[] objs =
this.listBox1.Items.Cast<object>()
.Select((value, index) => new { value, index })
.Where(item => oldIndices.Contains(item.index))
.Select(item => item.value).ToArray(); for (int i = oldIndices.Length; i > 0; i--)
this.listBox1.Items.RemoveAt(oldIndices[i - 1]); for (int i = 0; i < newIndices.Length; i++)
{
this.listBox1.Items.Insert(newIndices[i], objs[i]);
this.listBox1.SelectedItems.Add(objs[i]);
}
}
}private void button8_Click(object sender, EventArgs e)
{
// 置末
if (this.listBox1.SelectedIndices.Count > 0 &&
this.listBox1.SelectedIndices[this.listBox1.SelectedIndices.Count - 1] <
this.listBox1.Items.Count - 1)
{
int[] oldIndices =
this.listBox1.SelectedIndices.Cast<int>()
.ToArray(); int offest =
(this.listBox1.Items.Count - 1)
- oldIndices[oldIndices.Length - 1]; int[] newIndices =
this.listBox1.SelectedIndices.Cast<int>()
.Select(index => index + offest).ToArray(); object[] objs =
this.listBox1.Items.Cast<object>()
.Select((value, index) => new { value, index })
.Where(item => oldIndices.Contains(item.index))
.Select(item => item.value).ToArray(); for (int i = oldIndices.Length; i > 0; i--)
this.listBox1.Items.RemoveAt(oldIndices[i - 1]); for (int i = 0; i < newIndices.Length; i++)
{
this.listBox1.Items.Insert(newIndices[i], objs[i]);
this.listBox1.SelectedItems.Add(objs[i]);
}
}
}