|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。第一次写利用.NETC#开辟了一个稍稍像模样的软件,在这个软件开辟过程当中我查了很多多少材料,也学到了良多小技能像FolderBrowserDialog(用于扫瞄选择文件夹的对话框)、MessageBox(动静处置对话框)、DirectoryInfo(目次信息,可用于创立、检测是不是存在等对目次的操纵)、FileInfo(文件信息,可用于文件的检测、文件信息的猎取、复制等操纵)、DataGridView(数据表格控件,用于显现文件信息列表数据)、DataRowView(对一些数据源信息举行选择,排序)、System.Diagnostics.Process.Start(启动别的程序翻开文件夹目次),上面就顺次先容一下在此软件开辟中我都利用到以上控件、工具的哪些内容。
1、FolderBrowserDialog(文件夹扫瞄对话框),在此软件顶用于翻开选择数据库根目次或翻开创立、选择备份目次,上面是两处地位的代码具体先容。
1.选择数据库目次,在此处不必要新建文件夹,因而屏障新建文件夹按钮。
C#代码
- FolderBrowserDialogdf=newFolderBrowserDialog();
- //设置文件扫瞄对话框上的形貌内容
- df.Description="选择一切数据库文件地点根目次地点";
- //不显现对话框下方的创立新文件夹按钮
- df.ShowNewFolderButton=false;
- /*
- 判别是不是已间接输出文件夹目次地点,假如存在则将此值赋于对话框的已选地点,如许就能够让对话框显现您前次选择或增加的目次地点了。
- */
- if(tBoxDbRoot.Text!="")
- {
- df.SelectedPath=tBoxDbRoot.Text;
- }
- else
- {
- df.RootFolder=Environment.SpecialFolder.MyComputer;//指定对话框默许显现的根目次地点注重RootFolder的吸收数据范例
- }
- //显现文件夹对话框,并前往对话框处置了局数值
- DialogResultresult=df.ShowDialog();
- if(result==DialogResult.OK)//别的一种判别办法if(df.ShowDialog(this)==DialogResult.OK)
- {
- //将中的数据库目次地点赋于类全局变量数据库根目次
- stringfolderPath=df.SelectedPath;
- if(folderPath!="")
- {
- tBoxDbRoot.Text=folderPath;
- Cls_dbRootPath=tBoxDbRoot.Text;
- }
- }
2.选择数据库备份目次或创立新的数据库备份目次
C#代码
- FolderBrowserDialogbakFolder=newFolderBrowserDialog();
- bakFolder.Description="选择一切数据库文件备份目次";
- //这里没有计划bakFolder.ShowNewFolderButton是由于默许些按钮是显现的。
- if(Cls_dbBackRootPath!="")
- {
- bakFolder.SelectedPath=Cls_dbBackRootPath;
- }
- else
- {
- bakFolder.RootFolder=Environment.SpecialFolder.MyComputer;
- }
- if(bakFolder.ShowDialog(this)==DialogResult.OK)
- {
- Cls_dbBackRootPath=bakFolder.SelectedPath;
- //这里省略了入手下手处置实行数据库备份的代码...
- }
2、MessageBox(动静对话框)实在他也没有甚么好先容的,只利用到了它的动静形态前往实行别的代码和一般的动静提醒显现。
1.具有动静了局前往的处置代码
C#代码
- DialogResultresultNum=MessageBox.Show("数据库文件已备份到“"+Cls_dbBackRootPath+"”,是不是翻开备份目次?","数据库备份乐成",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
- if(resultNum==DialogResult.Yes)//判别是不是按下“是”的按钮
- {
- openDirectoryAddress(Cls_dbBackRootPath);
- }
这里就不必要再做先容了,看一下动静对话框的几个参数都分离是甚么
2.以分歧姿势显现的动静对话框
C#代码
- MessageBox.Show("这里是动静的提醒内容","动静的提醒题目",动静对话框上显现的按钮,动静对话框上显现的提醒图标);
3、DirectoryInfo(目次信息)检测目次是不是存在、创立目次文件夹在软件中次要用于剖析并创立指定的文件地点字符串中各级目次
1.检测目次是不是存在利用Exists办法
C#代码
- DirectoryInfocurFolderRoot=newDirectoryInfo(Cls_dbRootPath);//指定必要检测的文件夹物理地点
- if(curFolderRoot.Exists)
- {
- //...
- }
2.创立目次利用Create()办法
C#代码
- DirectoryInfocurFolderRoot=newDirectoryInfo(Cls_dbRootPath);//指定必要检测的文件夹物理地点
- if(curFolderRoot.Exists)
- {
- curFolderRoot.Create()
- }
4、FileInfo(文件信息)猎取文件信息、复制、删除文件等,将指定文件夹下的切合前提的文件的相干信息顺次写进DataGridView控件。
1.猎取文件信息代码:
C#代码
- FileInfodbFile=newFileInfo(dbPath);
- 写进DataGridView控件的某行某列上
- dGrideFileList.Rows[rowsNum].Cells[1].Value=dbFile.Length;
- 修正工夫写进
- dGrideFileList.Rows[rowsNum].Cells[5].Value=dbFile.LastWriteTime.ToString();
2.检测文件是不是存在实行删除复制操纵
C#代码
- FileInfocopyFile=newFileInfo(copyToPath);
- 检测文件是不是存在
- if(copyFile.Exists)
- {
- //假如存在文件则实行删除操纵
- File.Delete(copyToPath);
- }
- 实行文件的复制操纵
- File.Copy(dbPath,copyToPath);
5、DataGridView(数据表格控件)用于显现、更新、删除等对数据列表的操纵
1.将遍历切合请求的数据增加到控件
C#代码
- filesTotelSize+=curDbFile.Length;
- //将文件信息写进字符串数组
- string[]fileInfoArr=newstring[]{
- curDbFile.FullName.Replace(Cls_dbRootPath,"").ToString(),
- CheckFile.FormatSize(curDbFile.Length),
- "0",
- "未紧缩",
- CheckFile.GetTypeName(filePath),
- curDbFile.LastWriteTime.ToString()
- };
- //将文件行数组数据增加至控件行会合
- dGrideFileList.Rows.Add(fileInfoArr);
- //革新控件显现
- dGrideFileList.Refresh();
2.让控件垂直转动条主动转动
C#代码
- dGrideFileList.FirstDisplayedScrollingRowIndex=i;
- dGrideFileList.Refresh();
3.光标定位跟从遍历定位到控件单位格
C#代码
- dGrideFileList.CurrentCell=dGrideFileList.Rows.Cells[0];
- dGrideFileList.Refresh();
4.DataRowView删除控件选中行
C#代码
- //删除选中行数据
- if(this.dGrideFileList.SelectedRows.Count>0)
- {
- DataRowViewdrv=dGrideFileList.SelectedRows[0].DataBoundItemasDataRowView;
- drv.Delete();
- }
6、Process启动Exporler.exe翻开指定物理地点文件夹
C#代码
- #region翻开目次地点
- ///<summary>
- ///翻开目次地点
- ///</summary>
- ///<paramname="dirAddress">必要翻开的文件夹目次物理地点</param>
- privatevoidopenDirectoryAddress(stringdirAddress)
- {
- DirectoryInfodirFolder=newDirectoryInfo(dirAddress);
- if(dirFolder.Exists)
- {
- System.Diagnostics.Process.Start("explorer.exe",dirAddress);
- }
- else
- {
- MessageBox.Show("未找到必要翻开的目次地点","毛病提醒",MessageBoxButtons.OK,MessageBoxIcon.Error);
- }
- }
- #endregion
你觉得数据库怎么样? |
|