C#Windows窗体应用程序MyKTV项目
后台管理其中有一个添加歌手信息和歌曲信息的窗体要点击按钮并上传文件,因为对那些文件流什么的不懂,所以用了老师教的最简单的判断方法,但此方法只是按后缀名判断文件的样式,如果后缀名乱改就不行了!
此时需要用到的控件是OpenFileDialog,OpenFileDialog也是个类,如要用此类必须先引用Using Sysetem.IO命名空间!点击浏览按钮事件之后
string name = ""; string PhotoUrl = "";
private void btnBrowse_Click(object sender, EventArgs e)
{
OpenDialog.Filter = "(*.jpg)|*.jpg";//这段代码必须在ShowDialog打开之前才有用!
if (OpenDialog.ShowDialog() == DialogResult.OK)//这段代码可以直接浏览打开本地计算机文件夹里的文件,并且判断你选中一个文件点击了打开按钮!
{ name = OpenDialog.SafeFileName;//此为相对路径,拿我项目里照片的相对路径做例子,也就是:李宇春.JPG!
PhotoUrl = OpenDialog.FileName;//此代码为绝对路径,拿我照片的绝对路径做例子,意思就是:H:\c#窗口应用程序\MyKTV最终版\singerPhoto\李宇春.jpg
Image img = new Bitmap(PhotoUrl);
picBrowse.Image = img; //把照片地址放入控件就可以显示了也可以用image.FromFile();
}
}
//
OpenDialog.Filter = "(*.jpg),(*.png),(*.gif)|*.jpg,*.png,*.gif";会在你浏览的文本框旁多显示一个下拉框“()”括号里是显示给用户看的可以加载的类型,“|”后的是系统要解析的|前后腰对应如果要再添加一个下拉框显示全部可以这么写OpenDialog.Filter = "(*.jpg),(*.png),(*.gif)|*.jpg,*.png,*.gif|(*.全部)|*.*";
//
这个只是取到你未添加到歌手信息里的照片原路径,下面再用查询语句查到你数据库里照片目录的路径+上面取到的照片的相对路径就可以把别的目录下的照片复制到你的程序目录下! string SingerUrl = cmd.ExecuteScalar().ToString();//数据库取到的程序照片目录的路径
File.Copy(PhotoUrl, SingerUrl + "\\" + name, true); //因为C#里“\”为转义字符所以不能直接显示此时还可以用String.Format()来联接路径,这里的true是布尔类型参数的一个值,如果没有True的话,你的目标路径如有相同的照片是会报错的,有True的话,如果有相同就直接覆盖,不再提示!
============================================================================
还有一个FolderBrowserDialog控件,此控件使用时也需要先引用Using Sysetem.IO命名空间
if (FolderBrowserDialog.ShowDialog() == DialogResult.OK)
{
tbxNewWay.Text = FolderBrowserDialog.SelectedPath;//把选中的路径值赋给这个文本框
}
然后 Directory.Delete(tbxNewWay.Text);
Directory.Move(tbxNowWay.Text, tbxNewWay.Text);
//注释
Directory.Move(string sourceDirName,string destDirName)
Directory.Move(string sourceDirName,string destDirName)方法是把原文件夹里的东西转移到另一个空的文件夹里,并且删除原文件夹.
destDirName目标路径,必须是还没有被创建的文件夹,所以得 Directory.Move(tbxNowWay.Text, tbxNewWay.Text + "\\你想转移的新文件夹");手动给创建个文件名,而且这个文件名必须是不存在的。如果程序重复调试文件夹名字没换是会报错的.
如果不想那么麻烦,使用前加上一句Directory.Delete(tbxNewWay.Text);先把选中的文件夹给删除了,再Directory.Move(string sourceDirName,string destDirName)就可以把文件成功转移了!~
反斜杠
\
,在
windows
系统中用来表示目录。
C#Windows窗体应用程序MyKTV项目的更多相关文章
- API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...
- Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器
libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...
- C#开发Windows窗体应用程序的步骤
使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...
- 第一章 C#入门(Windows窗体应用程序)(二)
C#窗体应用程序(二) [案例]设计登录界面,效果如下: [案例实现步骤] 1.新建项目(Windows控制台应用程序 文件→新建→项目:选择“项目类型”为Visual C#,“模板”为Windows ...
- 第一章 C#入门 (Windows窗体应用程序)(一)
我的第一个窗体应用程序(一) [案例说明] 在文本框中显示一行文字“Hello C#!”,单击[显示]按钮后在文本框中显示文字:单击[清除]按钮后清除文本框中的内容. [案例实现步骤] 1.新建项目 ...
- 第一章 C#入门 (Windows窗体应用程序)(三)
[案例] 编写一个Windows窗体应用程序,窗体上有一个文本框和两个按钮([显示]和[清除]按钮). 单击[显示]时,文本框的背景变为蓝色并且居中显示“努力学习C#”: 单击[清除]按钮,文本框的背 ...
- Windows窗体应用程序常用的几个类的属性、方法以及事件
System.Diagnostics.Process 属性 public bool EnableRaisingEvents { get; set; }//获取或设置在进程终止时是否应激发 Exited ...
- C#windows窗体应用程序如何自适应大小
用C#的windows窗体应用程序做界面十分轻松,但是系统默认是没有让控件跟随窗体的大小改变而已改变的.所以需要我们手动去设置让窗体控件随着窗体的大小改变而改变.所以我们只需要将控件选择 然后把Anc ...
- 第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]
[案例]设计一个顾客选购商品的系统.其中,顾客身份有两类,一类是VIP,另一类是普通会员:商品种类有3种.分别是上衣.裤子和鞋子.其中,VIP享受8折优惠和商店赠送的礼品,而普通会员都不享受.单击[确 ...
随机推荐
- IOS NSDate NSDateFormatter 导致相差8小时
时间问题应该是所有编程语言都要处理的.详细学过php的同学知道,php中也会有相差8小时的问题,然而php可以非常方便的解决的,直接设置下就好了 我最近在学习IOS的过程中,发现IOS的日期处理也是个 ...
- UltraEdit 标签(tab)不见的3个解决办法
UltraEdit 标签(tab)不见的3个解决办法 2010-11-08 09:19 1042人阅读 评论(0) 收藏 举报 工具c 方法1:点 视图->视图/列表(V)->打开文件标签 ...
- [收藏]ASP.NET MVC管道详述
ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总 ...
- string strSQL = "Select * From Employees;Select * from Customers";执行两次查询
SqlCommand对象的字符串SQL命令可以做多个,以查询为例,用到SqlDataReader的一些方法,如ExecuteReader(),Read()(一条命令内的移动至下一记录),NextRes ...
- 智能手机,医疗诊断,云会议(gotomeeting/citrix)
在诊断领域已出现很多大有希望的创新,它们可能会起到真正的变革作用. 例如,有一种新技术可以让健康护理工作者用一部智能手机拍摄高质量的视网膜图像.这些数码照片像素很高,足以帮助检测白内障.黄斑退化.糖尿 ...
- 安装sqlserver2008r2 服务器配置,服务帐户配置出错,提示Sql server服务指定的凭据无效
win+X 点击运行 重置帐户密码使得sql server2008 的服务帐户名,密码与系统设置的Administrator名与密码一致,则可. 上图中有一项reporting的名字不同,该名字为自动 ...
- C++经典编程题#3:数字求和
总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入 输入一行,只包括6个小于100的正整数, ...
- 学习GitHub
学习GitHub: GitHub教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b00 ...
- sell-- 英文网站产品显示404?
1. 简介: 通过在主页(header.jsp)查询B22212,在localhost本地, cn和us查询的结果search.jsp中显示都是没有找到! 但是在外网(www),cn能够查询到,并展示 ...
- How to Detect and Track Object With OpenCV
http://www.intorobotics.com/how-to-detect-and-track-object-with-opencv/