C# 窗体接收拖拽到他上边的图片
想做个小软件需求就是:窗体上有一个PictureBox,一个TextBox;我拖一个图片到窗体上,然后那个PictureBox就把图片显示出来,把该图片的路径显示在Tex...
想做个小软件 需求就是: 窗体上有一个PictureBox,一个TextBox ;我拖一个图片到窗体上,然后那个PictureBox就把图片显示出来,把该图片的路径显示在TextBox里 求大虾不吝赐教
展开
2个回答
展开全部
你多上百度啊,谷歌搜搜 ,答案多的是,下面是我搜到的, 列表框控件提供了您需要处理的两个拖放事件: DragEnter 和 DragDrop。 当您在控件的边界内拖动对象时,便会发生 DragEnter 事件;该事件用于确定当前拖动的对象是不是您要放到控件上的对象。 在将一个或多个文件拖到控件上时,需要处理此事件。 这使得在将对象拖到控件上方时,能够根据所拖动的对象显示相应的图标。 将拖动的对象释放到控件上时,会发生 DragDrop 事件。 通过处理此事件可以检索对象。 Data 对象用于检索数据。 Data 对象的 GetData 方法返回一个字符串数组,该数组包含拖到该列表框控件中的文件的完整路径名。 您可以使用此文件路径信息来执行需要对文件执行的任何操作。 例如,可以使用 System.IO 命名空间中的类来打开并读取文件、移动文件或将文件复制到一个新位置。 在此示例中,您只是添加了拖到列表框控件中的文件的完整路径。 若要在 Visual C# .NET 应用程序中提供文件拖放功能,请按以下步骤操作: 1. 在 Visual C# .NET 中新建一个 Windows 窗体应用程序。默认情况下将创建 Form1。 2. 使用工具框向 Form1 添加一个列表框控件。 3. 在“属性”窗口中,将该列表框控件的 AllowDrop 属性更改为 True,以允许将对象拖到控件上。 4. 在解决方案资源管理器中,右键单击 Form1,然后单击查看代码。 5. 若要处理 DragEnter 事件,请将下面的方法添加到 Windows 窗体设计器在 Form1 类中生成的代码段下面: private void listBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e){ if(e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.All; else e.Effect = DragDropEffects.None;} 6. 若要处理 DragDrop 事件,请将下面的方法添加到 Form1 类中,紧挨在第 5 步中添加的方法后面: private void listBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e){ string[] s = (string[]) e.Data.GetData(DataFormats.FileDrop, false); int i; for(i = 0; i < s.Length; i++) listBox1.Items.Add(s[i]);} 7. 若要将这两个事件处理程序与控件事件相关联,请将以下代码添加到 Form1 的 InitializeComponent 方法中。 确保将此代码添加到已实例化 ListBox1 后的位置: this.listBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.listBox1_DragDrop);this.listBox1.DragEnter += new System.Windows.Forms.DragEventHandler(this.listBox1_DragEnter); 8. 生成并运行该项目。 9. 将一个或多个文件从桌面或另一文件夹拖到列表框控件中。 您会注意到,文件的完整路径添加到了列表框控件中
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询