winform文件目录
A. winform中怎么获取文件夹下面的所有文件路径
var dir = "D:\\a";
foreach (string item in System.IO.Directory.GetFiles(dir,"*.xml"))
{
MessageBox.Show(item);
}
当然了 GetFiles(dir,"*.xml") 后边的参数 可以没有. 也可以是 *.* 那样就全部获取了
B. c# winform 里打开文件夹显示所有的文件在listbox里
/// 递归浏览所有文件,string name是你文件夹名
/// </summary>
public void LookFile(string pathname)
{
if (pathname.Trim().Length==0)//判断文件名不为空
{
return;
}
//获取文件夹下的所有文件和文件夹
string[]files = Directory.GetFileSystemEntries(pathname);
try
{
foreach (string dir in files)
{
if (Directory.Exists(dir))//判断是否为目录,是目录继续递归
{
LookFile(dir);
}
else
{
listbox1.Imtes.Add(dir);//是文件的话,可以加上你要的操作
}
}
}
catch (Exception ex)
{
ex.ToString();//防止有些文件无权限访问,屏蔽异常
}
}
C. C# Winform中如何获取文件名与文件路径
获取文件名方法:用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法获取文件路径方法://获取当前进程的完整路径,包含文件名(进程名)。
string
str
=
this.GetType().Assembly.Location;
result:
X:\xxx\xxx\xxx.exe
(.exe文件所在的目录+.exe文件名)//获取新的
Process
组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string
str
=
System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName;
result:
X:\xxx\xxx\xxx.exe
(.exe文件所在的目录+.exe文件名)//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
string
str
=
System.Environment.CurrentDirectory;
result:
X:\xxx\xxx
(.exe文件所在的目录)//获取当前
Thread
的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string
str
=
System.AppDomain.CurrentDomain.BaseDirectory;
result:
X:\xxx\xxx\
(.exe文件所在的目录+”\”)//获取和设置包含该应用程序的目录的名称。
string
str
=
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
result:
X:\xxx\xxx\
(.exe文件所在的目录+”\”)//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string
str
=
System.Windows.Forms.Application.StartupPath;
result:
X:\xxx\xxx
(.exe文件所在的目录)//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string
str
=
System.Windows.Forms.Application.ExecutablePath;
result:
X:\xxx\xxx\xxx.exe
(.exe文件所在的目录+.exe文件名)//获取应用程序的当前工作目录(不可靠)。
result:
X:\xxx\xxx
(.exe文件所在的目录)
D. c# winform 如何获得项目中文件夹的路径
FileStream fs = new FileStream(Application.StartupPath + @"\ .txt", FileMode.OpenOrCreate, FileAccess.Read);相对.exe文本文件。
E. 在winform中怎么获取文件夹中所有的文件directory
既然知道带路径的
那么
使用Path.GetFileName(带路径的文件名)
别忘了
using System.IO;
对于这个问题,你可以写个循环啊
string[] s = Directory.GetFiles(DirFullPath, SearchPattern);
string[] filename = new string[s.Length];
for (int i = 0; i < s.Length; i++)
{
filename[i] = Path.GetFileName(s[i]);
}
return filename;
大概就是这个意思吧
F. winform程序获取项目根目录
对于你的问题,我的理解为:你做了一个窗体程序,需要打开一张图片,然后存如你当前执行的文件同级目录下的一个叫img的文件夹里。就是要保存到相对的exe文件同级的img文件夹。而不是写死了的路径。
在vs编写的程序,在debug文件夹里的文件就是你编写好的程序生成后产生的编译文件。可以将debug中的内容拷贝到其他位置去。也就是你做的应用程序了。运行其中的exe文件就可以。
而要保存图片到你说所的根目录下,代码如下:
获取根目录:Application.StartupPath;
以下是代码,亲测可用:
openFileDialog1.Filter = "图片|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openFileDialog1.FileName);
//文件名
string filename = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
//文件保存文件夹路径,此处【 Application.StartupPath 】就是根目录
//string savepath = Application.StartupPath + "\\img\\";
#region 保存路径为项目的根目录,从debug目录往上截取两级文件夹
string rootpath = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\"));
rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
//文件保存文件夹路径
string savepath = rootpath + "\\img\\";
#endregion
//文件保存路径+文件名
string imgSavepath = savepath + filename;
//判断是否存在img文件夹
if (Directory.Exists(savepath))
{
//存在img文件夹
//判断该路径下是否已经存在同名文件
if (File.Exists(imgSavepath))
{
//提示是否覆盖
if (DialogResult.Yes != MessageBox.Show("图片已存在!", "该图片已存在,是否覆盖原图片?", MessageBoxButtons.YesNo))
{
//点击【否】,返回,取消操作。
return;
}
}
}
else
{
//不存在,在根目录下创建img文件夹
Directory.CreateDirectory(savepath);
}
try
{
Image im = img;
Bitmap bit = new Bitmap(im);
bit.Save(imgSavepath, System.Drawing.Imaging.ImageFormat.Bmp);
MessageBox.Show("图片保存成功!");
}
catch{}
G. C# Winform中如何获取文件路径
获取文件名方法:
用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法
获取文件路径方法:
//获取当前进程的完整路径,包含文件名(进程名)。
string str = this.GetType().Assembly.Location;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string str = System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
string str = System.Environment.CurrentDirectory;
result: X:\xxx\xxx (.exe文件所在的目录)
//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str = System.AppDomain.CurrentDomain.BaseDirectory;
result: X:\xxx\xxx\ (.exe文件所在的目录+”\”)
//获取和设置包含该应用程序的目录的名称。
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
result: X:\xxx\xxx\ (.exe文件所在的目录+”\”)
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str = System.Windows.Forms.Application.StartupPath;
result: X:\xxx\xxx (.exe文件所在的目录)
//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str = System.Windows.Forms.Application.ExecutablePath;
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取应用程序的当前工作目录(不可靠)。
result: X:\xxx\xxx (.exe文件所在的目录)
H. C# Winform如何打开指定的文件夹
新建windows窗体,用代码获取要打开文件夹的全路径,具体操作步骤如下:
1、首先新建一个项目,点击右侧第一行的windows窗体应用程序。
I. 求C#WinForm中将文件目录生成一个treeview的代码
namespace case0706_11
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.listView1 = new System.Windows.Forms.ListView();
this.treeView1 = new System.Windows.Forms.TreeView();
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.treeView1);
this.groupBox1.Location = new System.Drawing.Point(5, 6);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(146, 284);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "目录信息";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.listView1);
this.groupBox2.Location = new System.Drawing.Point(171, 6);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(301, 284);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "文件信息";
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2,
this.columnHeader3});
this.listView1.FullRowSelect = true;
this.listView1.GridLines = true;
this.listView1.Location = new System.Drawing.Point(1, 18);
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(300, 262);
this.listView1.TabIndex = 0;
this.listView1. = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// treeView1
//
this.treeView1.Location = new System.Drawing.Point(0, 18);
this.treeView1.Name = "treeView1";
this.treeView1.Size = new System.Drawing.Size(145, 265);
this.treeView1.TabIndex = 0;
this.treeView1.NodeMouseClick += new System.Windows.Forms.(this.treeView1_NodeMouseClick);
//
// columnHeader1
//
this.columnHeader1.Text = "名称";
this.columnHeader1.Width = 120;
//
// columnHeader2
//
this.columnHeader2.Text = "大小";
//
// columnHeader3
//
this.columnHeader3.Text = "修改时间";
this.columnHeader3.Width = 120;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(484, 302);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "Form1";
this.Text = "TreeView遍历磁盘目录";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader columnHeader2;
private System.Windows.Forms.ColumnHeader columnHeader3;
}
}