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;
namespace List拖拽排序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//当窗体被加载的时候发生
private void Form1_Load(object sender, EventArgs e)
{
this.lbSort.AllowDrop = true;//允许拖拽
}
//拖拽操作完成时发生
private void lbSort_DragDrop(object sender, DragEventArgs e)
{
//GetDataPresent()确定此实例中存储的数据是否与指定的格式关联,或是否可以转换成指定的格式。
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
//PointToClient()将指定屏幕点的位置计算成工作区坐标。
//IndexFromPoint()返回指定坐标处的项的从零开始的索引。
int indexPos = ((ListBox)sender).IndexFromPoint(((ListBox)sender).PointToClient(new Point(e.X, e.Y)));
if (indexPos > -1)
((ListBox)sender).Items.Insert(indexPos, lbSort.SelectedItem);
else
((ListBox)sender).Items.Add(lbSort.SelectedItem);
}
}
//在用鼠标将某项拖拽到该控件的工作区时发生
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace List拖拽排序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//当窗体被加载的时候发生
private void Form1_Load(object sender, EventArgs e)
{
this.lbSort.AllowDrop = true;//允许拖拽
}
//拖拽操作完成时发生
private void lbSort_DragDrop(object sender, DragEventArgs e)
{
//GetDataPresent()确定此实例中存储的数据是否与指定的格式关联,或是否可以转换成指定的格式。
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
//PointToClient()将指定屏幕点的位置计算成工作区坐标。
//IndexFromPoint()返回指定坐标处的项的从零开始的索引。
int indexPos = ((ListBox)sender).IndexFromPoint(((ListBox)sender).PointToClient(new Point(e.X, e.Y)));
if (indexPos > -1)
((ListBox)sender).Items.Insert(indexPos, lbSort.SelectedItem);
else
((ListBox)sender).Items.Add(lbSort.SelectedItem);
}
}
//在用鼠标将某项拖拽到该控件的工作区时发生