操作环境 win10+vs2015
添加空间的话picturebox基本是自带的 media play需要在左侧工具栏右键选择项 —com组件里面添加windows media play(位置比较靠后直接往后拖)
添加后左侧工具栏—公共空间会出现 windows media play空间可以拖到form1
添加的控件如图下
剩下的我就直接把代码发上来
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO; //输入输出
using System.Threading; //暂停
using System.Diagnostics; //进程类
namespace First
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) //btton1 选择一个文件夹 显示路径
{
string defaultPath = ""; //定义字符类型存放路径
FolderBrowserDialog dialog = new FolderBrowserDialog(); //窗口组件 dialog
dialog.Description = "请选择一个文件夹"; //打开的文件夹浏览对话框上的描述
dialog.ShowNewFolderButton = false; //是否显示对话框左下角 新建文件夹 按钮,默认为 true
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != "")
{
dialog.SelectedPath = defaultPath; //设置此次默认目录为上一次选中目录
}
if (dialog.ShowDialog() == DialogResult.OK) //按下确定选择的按钮
{
try
{
defaultPath = dialog.SelectedPath; //将选中的路径存放到上面建立的字符类变量中
MessageBox.Show(defaultPath); //弹出消息框 显示选定路径
textBox1.Text = defaultPath; //textbox显示路径
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}
private void button2_Click(object sender, EventArgs e) //button2 选择一个图像显示出来
{
OpenFileDialog Image = new OpenFileDialog(); //建立一个读取流
string Imagepath = string.Empty; //定义路径名变量
Image.Multiselect = true; //设定是否可以选择多个文件
Image.Filter = "Image Files (*.tif;*.jpg;*.bmp)|*.tif;*.jpg;*.bmp";
if (Image.ShowDialog() != DialogResult.Cancel)
{
try
{
Imagepath = Image.FileName;//点击后获取的图片地址
pictureBox1.Load(Imagepath);//通过picturebox显示出图片
MessageBox.Show(Imagepath); //通过messagebox显示路径
textBox1.Text = Imagepath;//在textbox显示路径
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}
private void button3_Click(object sender, EventArgs e) //读取一个文件夹下所有文件名
{
string defaultPath = ""; //定义字符类型存放路径
FolderBrowserDialog dialog = new FolderBrowserDialog(); //窗口组件 dialog
dialog.Description = "请选择一个文件夹"; //打开的文件夹浏览对话框上的描述
dialog.ShowNewFolderButton = false; //是否显示对话框左下角 新建文件夹 按钮,默认为 true
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != "")
{
dialog.SelectedPath = defaultPath; //设置此次默认目录为上一次选中目录
}
if (dialog.ShowDialog() == DialogResult.OK) //按下确定选择的按钮
{
try
{
defaultPath = dialog.SelectedPath; //将选中的路径存放到上面建立的字符类变量中
MessageBox.Show(defaultPath); //弹出消息框 显示选定路径
DirectoryInfo dir = new DirectoryInfo(defaultPath);//使用DirectoryInfo用于搜索文件夹·
FileInfo[] finfo = dir.GetFiles(); //新实例,是文件的路径。
string fnames = string.Empty;
for (int i = 0; i < finfo.Length; i++)
{
fnames += finfo[i].FullName + " \r\n "; //存储路径
textBox1.Text = fnames; //显示路径
Application.DoEvents(); //实时显示
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}
private void button4_Click(object sender, EventArgs e) //读取一个文件夹下所有图片文件轮流播放
{
string defaultPath = ""; //定义字符类型存放路径
FolderBrowserDialog dialog = new FolderBrowserDialog(); //窗口组件 dialog
dialog.Description = "请选择一个文件夹"; //打开的文件夹浏览对话框上的描述
dialog.ShowNewFolderButton = false; //是否显示对话框左下角 新建文件夹 按钮,默认为 true
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != "")
{
dialog.SelectedPath = defaultPath; //设置此次默认目录为上一次选中目录
}
if (dialog.ShowDialog() == DialogResult.OK) //按下确定选择的按钮
{
try
{
defaultPath = dialog.SelectedPath; //将选中的路径存放到上面建立的字符类变量中
MessageBox.Show(defaultPath); //信息框显示路径
DirectoryInfo dir = new DirectoryInfo(defaultPath);
FileInfo[] finfo = dir.GetFiles();
string fnames = string.Empty;
string name1 = string.Empty;
for (int i = 0; i < finfo.Length; i++)
{
name1 = finfo[i].Name.ToLower(); //定义变量暂时存放文件名
if (name1.EndsWith(".tif") || name1.EndsWith(".bmp")) //对文件后缀进行判断是否是图片
{
fnames += finfo[i].FullName + " \r\n "; //存放路径以便于textbox显示
textBox1.Text = fnames; //显示
pictureBox1.Load(finfo[i].FullName); //显示图片
Thread.Sleep(100); //0.1s延迟
Application.DoEvents(); //设定实时操控
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}
private void button5_Click(object sender, EventArgs e) //通过控件读取播放视频
{
OpenFileDialog vedio = new OpenFileDialog(); //建立一个读取流
string videopath = string.Empty; //定义路径名变量
vedio.Multiselect = true; //设定是否可以选择多个文件
vedio.Filter = "(mp3,wav,mp4,mov,wmv,mpg)|*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpg|all files|*.*";
if (vedio.ShowDialog() != DialogResult.Cancel)
{
try
{
videopath = vedio.FileName;//点击后获取的video地址
axWindowsMediaPlayer1.URL = (videopath);//设定空间URL
textBox1.Text = videopath;//在textbox显示路径
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}
private void button6_Click(object sender, EventArgs e)
{
OpenFileDialog work = new OpenFileDialog(); //建立一个读取流
string workpath = string.Empty; //定义路径名变量
work.Multiselect = true; //设定是否可以选择多个文件
work.Filter = "all|";
if (work.ShowDialog() != DialogResult.Cancel)
{
try
{
workpath = work.FileName;//点击后获取的地址
MessageBox.Show(workpath); //通过messagebox显示路径
textBox1.Text = workpath;//在textbox显示路径
Process work1 = new Process(); //新建进程
work1.StartInfo.FileName = workpath; //设定打开路径
work1.StartInfo.CreateNoWindow = true;//是否在新窗口打开进程
work1.Start();//打开程序
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);//显示报错信息
}
}
}//通过选定文件打开程序
private void button8_Click(object sender, EventArgs e) //提前绝对地址打开程序
{
Process pr = new Process();//声明一个进程类对象
//pr.StartInfo.FileName = @"C:\Users\Darkpain\Desktop\IMG_5865.MP4";//选定后复制的路径
// pr.StartInfo.FileName = @"C:\Users\Darkpain\Desktop\IMG_5865.MP4";// 这个下滑线有毒 找了半天 直接属性复制的下滑线会导致无法识别到程序
pr.StartInfo.FileName = @"C:\Users\Darkpain\Desktop\Microsoft Edge.lnk";
MessageBox.Show("不知道charm路径就随便打开");
pr.StartInfo.CreateNoWindow = true;
pr.Start();//运行QQ
Process work1 = new Process();
}
private void button7_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("iexplore.exe", "www.baidu.com");
}
}
}
主要的控件解析
FolderBrowserDialog dialog = new FolderBrowserDialog(); 使用FolderBrowserDialog类实现选择打开文件夹
string defaultPath = “”;
FolderBrowserDialog dialog = new FolderBrowserDialog();
//打开的文件夹浏览对话框上的描述
dialog.Description = “请选择一个文件夹”;
//是否显示对话框左下角 新建文件夹 按钮,默认为 true
dialog.ShowNewFolderButton = false;
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != “”)
{
//设置此次默认目录为上一次选中目录
dialog.SelectedPath = defaultPath;
}
//当你按下确定选择的时候
if (dialog.ShowDialog() == DialogResult.OK)
{
defaultPath = dialog.SelectedPath; //选中的地址咯
}
public string Description { get; set; }
// 获取或设置对话框中在树视图控件上显示的说明文本。
public Environment.SpecialFolder RootFolder { get; set; }
// 获取或设置从其开始浏览的根文件夹。 默认值为 用户的桌面。
public string SelectedPath { get; set; }
// 获取或设置用户选定的路径。
// 对话框中选定的第一个文件夹或用户选定的最后一个文件夹的路径。默认值为空字符串 ("")。
public bool ShowNewFolderButton { get; set; }
// 获取或设置一个值,该值指示“新建文件夹”按钮是否显示在文件夹浏览对话框中。
// 如果“新建文件夹”按钮显示在对话框中,则为 true;否则为 false。默认值为 true。
public override void Reset();
// 将属性重置为其默认值。
protected override bool RunDialog(IntPtr hWndOwner);
运行? 这个没看 等下仔细看
OpenFileDialog OpenFileDialog1= new OpenFileDialog(); //System.Windows.Forms.OpenFileDialog 类的实例。
public override bool CheckFileExists { get; set; }
// 获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。
// 返回结果:
// 如果对话框在用户指定的文件名不存在时显示警告,则为 true;反之,则为 false。默认值为 true。
public bool Multiselect { get; set; }
// 获取或设置一个值,该值指示对话框是否允许选择多个文件。
// 返回结果:
// 如果对话框允许同时选定多个文件,则为 true;反之,则为 false。默认值为 false。
public bool ReadOnlyChecked { get; set; }
// 获取或设置一个值,该值指示是否选定只读复选框。
// 返回结果:
// 如果选中了只读复选框,则为 true;反之,则为 false。默认值为 false。
public string SafeFileName { get; }
// 获取对话框中所选文件的文件名和扩展名。文件名不包含路径。
// 返回结果:
// 对话框中所选文件的文件名和扩展名。文件名不包含路径。默认值为空字符串。
public string[] SafeFileNames { get; }
// 获取对话框中所有选定文件的文件名和扩展名的数组。文件名不包含路径。
// 返回结果:
// 对话框中所有选定文件的文件名和扩展名的数组。文件名不包含路径。如果未选择任何文件,则返回空数组。
public bool ShowReadOnly { get; set; }
// 获取或设置一个值,该值指示对话框是否包含只读复选框。
// 返回结果:
// 如果对话框包含只读复选框,则为 true;否则为 false。默认值为 false。
public Stream OpenFile();
// 打开用户选定的具有只读权限的文件。该文件由 System.Windows.Forms.FileDialog.FileName 属性指定。
// 返回结果:
// 指定用户所选定的只读文件的 System.IO.Stream。
// 异常:
// T:System.ArgumentNullException:
// 文件名为 null。
public override void Reset();
// 摘要:
// 将所有属性重新设置为其默认值。
public string Filter { get; set; } 这个是 System.Windows.Forms继承过来的等下在列出来
// 摘要:
// 获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。
// 返回结果:
// 对话框中可用的文件筛选选项。
// 异常:
// T:System.ArgumentException:
// Filter 格式无效。
.WinForm中窗体显示
显示窗体可以有以下2种方法:
Form.ShowDialog方法 (窗体显示为模式窗体)
Form.Show方法 (窗体显示为无模式窗体)
2者具体区别如下:
1.在调用Form.Show方法后,Show方法后面的代码会立即执行
2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码
3.当窗体显示为模式窗体时,单击“关闭”按钮会隐藏窗体,并将DialogResult属性设置为DialogResult.Cancel
与无模式窗体不同,当用户单击对话框的关闭窗体按钮或设置DialogResult属性的值时,不调用窗体的Close方法
实际上是把窗体的Visible属性赋值为false,隐藏窗体了
这样隐藏的窗体是可以重新显示,而不用创建该对话框的新实例
因为未关闭窗体,所以在应用程序不再需要该窗体时,请调用该窗体的Dispose方法
还有就是选择框的返回值
// 摘要:
// 指定标识符以指示对话框的返回值。
public enum DialogResult
{
//
// 摘要:
// 从对话框返回了 Nothing。这表明有模式对话框继续运行。
None = 0,
//
// 摘要:
// 对话框的返回值是 OK(通常从标签为“确定”的按钮发送)。
OK = 1,
//
// 摘要:
// 对话框的返回值是 Cancel(通常从标签为“取消”的按钮发送)。
Cancel = 2,
//
// 摘要:
// 对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。
Abort = 3,
//
// 摘要:
// 对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。
Retry = 4,
//
// 摘要:
// 对话框的返回值是 Ignore(通常从标签为“忽略”的按钮发送)。
Ignore = 5,
//
// 摘要:
// 对话框的返回值是 Yes(通常从标签为“是”的按钮发送)。
Yes = 6,
//
// 摘要:
// 对话框的返回值是 No(通常从标签为“否”的按钮发送)。
No = 7
}
想到哪里写那里吧