欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【c#中实现文件拖放打开的方法】,下面是详细的讲解!
c#中实现文件拖放打开的方法
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 DragDrop
{
public partial class DragDrop : Form
{
public string FilePath;
public DragDrop()
{
InitializeComponent();
}
/// <summary>
/// 获取ListBox的值。
/// </summary>
/// <returns></returns>
public string GetListBoxItem()
{
string filePath=string.Empty;
bool isSelected=IsListBoxSelected();
if (isSelected==true)
{
string listBoxItemValue=lbFilePath.SelectedItem.ToString();
filePath=listBoxItemValue;
}
else
{
MessageBox.Show("ListBox must be selected.");
}
return filePath;
}
/// <summary>
/// ListBox内的值是否被选中。
/// </summary>
/// <returns></returns>
public bool IsListBoxSelected()
{
bool selected;
if (lbFilePath.SelectedIndex==-1)//SelectedIndex==-1时,表示未选中任何项。
{
selected=false;
}
else
{
selected=true;
}
return selected;
}
private void lbFilePath_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect=DragDropEffects.All;
}
else
{
e.Effect=DragDropEffects.None;
}
}
private void lbFilePath_DragDrop(object sender, DragEventArgs e)
{
string[] s=(string[])e.Data.GetData(DataFormats.FileDrop,false);
for (int i=0; i < s.Length; i++)
{
lbFilePath.Items.Add(s[i]);
}
}
private void btnOpenFile_Click(object sender, EventArgs e)
{
string filePath=GetListBoxItem();
if (!string.IsNullOrEmpty(filePath))
{
System.Diagnostics.Process.Start(filePath);
}
}
}
}
关于c#中实现文件拖放打开的方法的用户互动如下:
相关问题:如何使用C#实现一个记事本,当把目标文本文件拖入...
答:1.窗体的AllowDrop属性要设为true2.添加窗体的DragEnter事件:private void Form1_DragEnter(object sender, DragEventArgs e){}3.部分代码(放在DragEnter事件中的):if (e.Data.GetDataPresent(DataFormats.FileDrop))//判断拖进来是不是文件类型... >>详细
相关问题:c#中拖放事件 打开一个文件
答:假定有一个RichTextBox叫richTextBox1 窗体构造函数中: richTextBox1.AllowDrop = true; DragEventHandler rtba1,rtba2; rtba1 = new DragEventHandler(richTextBox1_DragEnter); rtba2=new DragEventHandler(richTextBox1_DragDrop); richText... >>详细
相关问题:c#中实现文件夹的拖放问题?
答:不管拖文件还是文件夹都能触发Drag的事件啊 private void Form1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Link; else e.Effect = DragDropEffects.None; } p... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
