listview的拖放问题 帅哥可以去这里看看!!http://expert.csdn.net/Expert/topic/2173/2173632.xml?temp=.4354669 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 see:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbtskstartingdragoperations.htm 例子:通过处理一系列事件,最著名的有 DragEnter、DragLeave 和 DragDrop 事件,来在 Windows 应用程序内完成拖放操作。通过使用这些事件的事件参数中的可用信息,可以轻松地简化拖放操作。拖动数据所有拖放操作都从拖动开始。当拖动开始时,在 DoDragDrop 方法中实现使数据得以收集的功能。在下面的示例中,使用 MouseDown 事件启动拖动操作,因为该事件最直观(大部分拖放操作都从按下鼠标按钮开始)。但是,请记住,任何事件都可用于启动拖放过程。注意 某些控件具有自定义的、特定于拖动的事件。例如,ListView 和 TreeView 控件有 ItemDrag 事件。启动拖动操作 在由其中开始拖动的控件的 MouseDown 事件中,使用 DoDragDrop 方法设置要拖动的数据,并设置拖动将具有的允许效果。有关更多信息,请参见 DataEventArgs.Data 属性和 DataEventArgs.AllowedEffect 属性。 下面的示例显示如何启动拖动操作。拖动开始于的控件是 Button 控件,要拖动的数据是表示 Button 控件的 Text 属性的字符串,允许的效果是复制或移动。 private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e){ button1.DoDragDrop(button1.Text, DragDropEffects.Copy | DragDropEffects.Move);}注意 请注意,任何数据都可用作 DoDragDrop 方法中的参数;在上面的示例中,使用 Button 控件的 Text 属性(而不是对值进行硬编码或从数据集检索数据),因为该属性与(从 Button 控件)开始拖动的位置相关。当将拖放操作合并到 Windows 应用程序中时,请牢记这一点。拖动操作生效后,可以处理 QueryContinueDrag 事件,该事件“要求系统权限”以继续该拖动操作。当处理此方法时,此时也适于调用将对该拖动操作产生效果的方法,如当光标悬停在 TreeView 控件中的 TreeNode 上时,展开它。放置数据开始从 Windows 窗体或控件上的某个位置拖动数据后,将很自然地要将其放置在某处。当光标经过为放置数据而进行了正确配置的窗体或控件区域时,会发生改变。可以通过设置 AllowDrop 属性以及处理 DragEnter 和 DragDrop 事件,使 Windows 窗体或控件内的任何区域接受放置的数据。执行放置 在“属性”窗口中,将 AllowDrop 属性设置为 true。 右击解决方案资源管理器中的窗体,并选择“查看代码”。 在将要发生放置操作的控件的 DragEnter 事件中,使用 If 语句进行类型检查,确保被拖动数据的类型是可以接受的(在这种情况下为 Text)。代码随后将发生放置操作时将发生的结果设置为 DragDropEffects 枚举中的值。有关更多信息,请参见 DragEventArgs.Effect 属性。 private void textBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e){ if (e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None;}注意 请注意,您也可以定义您自己的 DataFormats。这与将您自己的对象指定为 SetData 方法的 Object 参数一样简单。在进行该操作时,请确保指定的对象可序列化。有关更多信息,请参见 ISerializable 接口。在将要发生放置操作的控件的 DragDrop 事件中,使用 GetData 方法检索正在被拖动的数据。有关更多信息,请参见 DataObject.Data 属性。 在下面的示例中,TextBox 控件是要拖动到的控件(发生放置操作的位置)。代码将 TextBox 控件的 Text 属性设置为等于要拖动的数据。 private void textBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e){ textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();}注意 另外,还可使用 KeyState 属性,以便根据拖放操作过程中按下的键,出现相应的效果(例如,当按下 CTRL 键时复制拖动的数据是标准操作)。 see:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbcondragdropclipboardsupport.htm 我不是要从一个listview拖到另一个listview中,或者是从treeview拖到listview中,而是从windows系统中的文件夹中拖一个文件到listview中 关注,这个过去在VB中叫OLE拖放,在.NET中去哪了,没找到。 gridview 控件有一列是布尔类型的数? 我是个编程新手,想问问什么东西称为对象? 关于?:的使用问题 XPath的问题 水晶报表问题!~~~大家帮帮忙 请问visual c#.net中用于生成条形码的barcode控件怎么用啊? 高分求一个取读卡器数据的代码,我的读卡器是LD-M1非接触IC卡读写器 【急求助】axWebBrowser1控件,post下面数据,如何跳转到内容的任意页面??? DataSet和DataAdapter更新数据,如何保证某一列的值唯一 请教如何使每个窗体来访问一个全局变量 MM求救 请问各位大哥
通过处理一系列事件,最著名的有 DragEnter、DragLeave 和 DragDrop 事件,来在 Windows 应用程序内完成拖放操作。通过使用这些事件的事件参数中的可用信息,可以轻松地简化拖放操作。拖动数据
所有拖放操作都从拖动开始。当拖动开始时,在 DoDragDrop 方法中实现使数据得以收集的功能。在下面的示例中,使用 MouseDown 事件启动拖动操作,因为该事件最直观(大部分拖放操作都从按下鼠标按钮开始)。但是,请记住,任何事件都可用于启动拖放过程。注意 某些控件具有自定义的、特定于拖动的事件。例如,ListView 和 TreeView 控件有 ItemDrag 事件。
启动拖动操作 在由其中开始拖动的控件的 MouseDown 事件中,使用 DoDragDrop 方法设置要拖动的数据,并设置拖动将具有的允许效果。有关更多信息,请参见 DataEventArgs.Data 属性和 DataEventArgs.AllowedEffect 属性。
下面的示例显示如何启动拖动操作。拖动开始于的控件是 Button 控件,要拖动的数据是表示 Button 控件的 Text 属性的字符串,允许的效果是复制或移动。 private void button1_MouseDown(object sender,
System.Windows.Forms.MouseEventArgs e)
{
button1.DoDragDrop(button1.Text, DragDropEffects.Copy |
DragDropEffects.Move);
}
注意 请注意,任何数据都可用作 DoDragDrop 方法中的参数;在上面的示例中,使用 Button 控件的 Text 属性(而不是对值进行硬编码或从数据集检索数据),因为该属性与(从 Button 控件)开始拖动的位置相关。当将拖放操作合并到 Windows 应用程序中时,请牢记这一点。
拖动操作生效后,可以处理 QueryContinueDrag 事件,该事件“要求系统权限”以继续该拖动操作。当处理此方法时,此时也适于调用将对该拖动操作产生效果的方法,如当光标悬停在 TreeView 控件中的 TreeNode 上时,展开它。放置数据
开始从 Windows 窗体或控件上的某个位置拖动数据后,将很自然地要将其放置在某处。当光标经过为放置数据而进行了正确配置的窗体或控件区域时,会发生改变。可以通过设置 AllowDrop 属性以及处理 DragEnter 和 DragDrop 事件,使 Windows 窗体或控件内的任何区域接受放置的数据。执行放置 在“属性”窗口中,将 AllowDrop 属性设置为 true。
右击解决方案资源管理器中的窗体,并选择“查看代码”。
在将要发生放置操作的控件的 DragEnter 事件中,使用 If 语句进行类型检查,确保被拖动数据的类型是可以接受的(在这种情况下为 Text)。代码随后将发生放置操作时将发生的结果设置为 DragDropEffects 枚举中的值。有关更多信息,请参见 DragEventArgs.Effect 属性。 private void textBox1_DragEnter(object sender,
System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
注意 请注意,您也可以定义您自己的 DataFormats。这与将您自己的对象指定为 SetData 方法的 Object 参数一样简单。在进行该操作时,请确保指定的对象可序列化。有关更多信息,请参见 ISerializable 接口。
在将要发生放置操作的控件的 DragDrop 事件中,使用 GetData 方法检索正在被拖动的数据。有关更多信息,请参见 DataObject.Data 属性。
在下面的示例中,TextBox 控件是要拖动到的控件(发生放置操作的位置)。代码将 TextBox 控件的 Text 属性设置为等于要拖动的数据。
private void textBox1_DragDrop(object sender,
System.Windows.Forms.DragEventArgs e)
{
textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();
}
注意 另外,还可使用 KeyState 属性,以便根据拖放操作过程中按下的键,出现相应的效果(例如,当按下 CTRL 键时复制拖动的数据是标准操作)。
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbcondragdropclipboardsupport.htm