C#对话框-打开和保存对话框(转)
//打开文件
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory = "E:\\";
openFileDialog.Filter = "Md1 File(*.md1)|*.md1";
openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex = 1;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog.FileName;
}
//保存文件
SaveFileDialog sfd = new SaveFileDialog();
sfd.InitialDirectory = "E:\\";
sfd.Filter = "jpg文件(*.jpg)|*.jpg|png文件(*.png)|*.png";
if(sfd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = sfd.FileName;
}
除了PrintPreviewDialog外,其他对话框类都派生于抽象基类CommonDialog,这个基类的办法可以经管Windows通用对话框。
ofd.ShowDialog();
FilterIndex属性指定列表框中的默认选项。
设置文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名。
CheckPathExists:验证路径有效性
CheckFileExists:验证文件有效性
ofd.ValidateNames = true;
ofd.CheckPathExists = true;
ofd.CheckFileExists = true;
自定义帮助信息:
设置对象的ShowHelp属性可以呈现一个帮助按钮,自定义帮助信息。
经由过程HelpRequest事务添加一个处理惩罚法度。
ofd.ShowHelp = true;
ofd.HelpRequest += new EventHandler(ofd_HelpRequest);
private void ofd_HelpRequest(object sender, EventArgs e)
{
MessageBox.Show("我本身定义的帮助信息)";
}
单击帮助按钮就会显示我定义的帮助信息。
设置Multi属性可以使打开文件对话框打开多个文件。
经由过程如下断定可以获得打开文件对话框单击的是哪个按钮。
if(ofd.ShowDialog() == DialogResult.OK)
{
}
保存文件对话框:
应用Title属性设置对话框的题目。
文件扩大名:
AddExtension是一个布尔属性,它定义了文件扩大名是否应主动添加到用户输入的文件名上。若是用户已经输入了一个文件扩大名,就不会添加其它扩大名了。所以若是用户输入了文件名test,就保存文件test.txt,若是输入了test.txt,保存的文件还是test.txt,而不是test.txt.txt。
若是用户没有输入文件扩大名,就应用DefaultExt属性设置的文件扩大名。若是这个属性为空,就应用当前选择的Filter中定义的文件扩大名。若是设置了Filter和DefaultExt,则非论Filter是什么,都应用Default。
同OpenFileDialog一样,具有ValidateNames、CheckFileExists和CheckPathExists三个属性,差别是对于SaveFileDialog,CheckFileExists的默认值是false,默示可以供给新文件名,进行保存。
若是设置CreatePrompt属性为true,就会询问用户是否要创建一个新文件。
若是设置OverwritePrompt属性为true,就会询问用户是否要覆盖一个已有的文件。
进行如下定义一个保存文件对话框后,我们经由过程如下功能可以实现一个另存为的功能:
SaveFileDialog sfd = new SaveFileDialog();
private void miFileSaveAs_Click(object sender, EventArgs e)
{
if(sfd.ShowDialog() == DialogResult.OK)
{
string fileName = sfd.FileName;
SaveFile(fileName);
}
}
protected void SaveFile(string fileName)
{
try
{
Stream stream = File.OpenWrite(fileName);
using(StreamWriter writer = new StreamWriter(stream))
{
writer.Write(textBox1.Text);
}
}
catch(IOException ex)
{
MessageBox.Show(ex.Message,"Simple Editor",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
打开文件夹
C# Win应用程序打开对话框如何实现打开文件夹而不打开具体的一个文件?也就是打开对话框中最终获取的是一个文件路径,但并没有具体的文件````答案1
System.Windows.Forms.FolderBrowserDialog folder = new System.Windows.Forms.FolderBrowserDialog();
if ( folder.ShowDialog()== DialogResult.OK)
{
this.textBox1.Text = folder.SelectedPath;
}
创建文件夹
|
|
if (!Directory.Exists(sPath)){ Directory.CreateDirectory(sPath);} |
c# 选择文件夹的对话框
下面来看看具体是怎么实现的。
首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class)。
因为FolderNameEditor是在System.Windows.Forms.Design命名空间下的,此命名空间位于动态链接库system.design.dll,所以我们要先在解决方案中添加新的引用(reference)System.Design。然后在代码中添加:
using System.Windows.Forms.Design;
接着,我们新建一个FolderDialog类,此类从FolderNameEditor类继承,在此类中新建一个FolderBrowser类的实例。DisplayDialog(string description)函数用于设置实例fDialog的属性,并且显示浏览文件夹对话框。为了取得文件夹的路径,设置一个Path属性,返回选取文件夹的路径。
代码如下:
public class FolderDialog : FolderNameEditor
{
FolderNameEditor.FolderBrowser fDialog = new
System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public FolderDialog()
{
}
public DialogResult DisplayDialog()
{
return DisplayDialog("请选择一个文件夹");
}
public DialogResult DisplayDialog(string description)
{
fDialog.Description = description;
return fDialog.ShowDialog();
}
public string Path
{
get
{
return fDialog.DirectoryPath;
}
}
~FolderDialog()
{
fDialog.Dispose();
}
}
//在winform窗体里写以下代码,可以看看运行效果。
private void Form1_Load(object sender, System.EventArgs e)
{
FolderDialog aa=new FolderDialog ();
aa.DisplayDialog ();
MessageBox.Show (aa.Path);
}
OpenFileDialog控件有以下基本属性
| InitialDirectory | 对话框的初始目录 |
| Filter | 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" |
| FilterIndex | 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 |
| RestoreDirectory | 控制对话框在关闭之前是否恢复当前目录 |
| FileName | 第一个在对话框中显示的文件或最后一个选取的文件 |
| Title | 将显示在对话框标题栏中的字符 |
| AddExtension | 是否自动添加默认扩展名 |
| CheckPathExists | 在对话框返回之前,检查指定路径是否存在 |
| DefaultExt | 默认扩展名 |
| DereferenceLinks | 在从对话框返回前是否取消引用快捷方式 |
| ShowHelp | 启用"帮助"按钮 |
| ValiDateNames | 控制对话框检查文件名中是否不含有无效的字符或序列 |
2、 OpenFileDialog控件有以下常用事件
| FileOk | 当用户点击"打开"或"保存"按钮时要处理的事件 |
| HelpRequest | 当用户点击"帮助"按钮时要处理的事件 |
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace FileDialog
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private string fName;
private bool isFileHaveName = false;
private void 打开SToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory = "c:\\";//注意这里写路径时要用c:\\而不是c:\
openFileDialog.Filter = "文本文件|*.*|C#文件|*.cs|所有文件|*.*";
openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex = 1;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
fName = openFileDialog.FileName;
File fileOpen = new File(fName);
isFileHaveName = true;
richTextBox1.Text = fileOpen.ReadFile();
richTextBox1.AppendText("");
}
}
}
}
///////////在应用于调用WMP控件时////////////////////
openFileDialog1.Filter = "视频文件(*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma)|*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma|音频文件(*.wav;*.mp3;*.snd;*.au;*.midi;*.mid)|*.wav;*.mp3;*.snd;*.au;*.midi;*.mid|所有文件(*.*)|*.*";
//打开的文件类型
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
axWindowsMediaPlayer1.FileName = openFileDialog1.FileName;
//如果打开的是音频文件,则禁止【视频】菜单组 ,据此可判断打开的文件类型
if(openFileDialog1.FilterIndex == 2)
menuItemVideo.Enabled = false;
else
menuItemVideo.Enabled = true;
}
C#对话框-打开和保存对话框(转)的更多相关文章
- C#中对文件进行选择对话框打开和保存对话框进行复制
场景 通过文件选择对话框选择文件 复制文件到指定路径 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号霸道的程序猿获取编程相关电子书.教 ...
- 12.JAVA之GUI编程打开与保存文件
功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...
- 工作总结:MFC调用Windows自带新建、保存对话框代码
保存: void CExample17Dlg::OnBnClickedSaveButton() { // TODO: Add your control notification handler cod ...
- C#(Winform)的SaveFileDialog(文件保存对话框)控件使用
#region 保存对话框 private void ShowSaveFileDialog() { //string localFilePath, fileNameExt ...
- C# Wpf 文件保存对话框
C# Wpf库中无文件保存对话框,需引用winform,引用winform后多处提示引用不明确,将winform引用改别名. // 引用winform,改别名 using Forms = System ...
- JS页面打开方式丶对话框及页面跳转方式
一.js页面的三种打开方式 1. window.open 2. window.navigate("url") 跳转到目标页面 3. window.location.href=&qu ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- 帆软报表(finereport)点击事件对话框打开
点击事件对话框打开iframe var iframe = $("<iframe id='001' name='001' width='100%' height='100%' scrol ...
- VC++模态对话框和非模态对话框
MFC中有两种类型的对话框:模态对话框和非模态对话框. 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务.非模态对话框是指当其显示时,允许转而执行程序中 ...
随机推荐
- LeetCode第14题:最长公共前缀
题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...
- adnroid 启动是没有标题栏
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Light.N ...
- React 从入门到进阶之路(三)
之前的文章我们介绍了 React 创建组件.JSX 语法.绑定数据和绑定对象.接下来我们将介绍 React 绑定属性( 绑定class 绑定style).引入图片 循环数组渲染数据. 上一篇中我们 ...
- Java中Object类的公有方法
HashCode();wait();notify();equals();getClass();toString();clone();finalize(); 这里只是简单介绍一下其中的几个函数: Has ...
- bzoj2132: 圈地计划(最小割)
传送门 看来以后见到矩形就要黑白染色冷静一下了…… 首先,如果它的要求时候相邻的选择相同,那么就是和这一题一样了->这里 然后考虑不同的要怎么做 那就把矩形黑白染色一下吧 然后令其中一种颜色的A ...
- informix 入门简单笔记
informix 查看数据库 服务名字 onstat -c | grep DBSERVER 例如: DBSERVERNAME easycon # Name of default database se ...
- 20165224 陆艺杰 Exp 8 Web基础
.基础问题回答 (1)什么是表单 html的一个控件 表单在网页中主要负责数据采集功能 (2)浏览器可以解析运行什么语言 html xml jsp php python 等 (3)WebServer支 ...
- EcmaScript学习
1.eval: ts: declare function eval(x: string): any; js: /** @param {*} x @return {Object} */ eval = f ...
- POJ1046 Color Me Less
题目来源:http://poj.org/problem?id=1046 题目大意: 在RGB颜色空间中,用下面的公式来度量两个颜色值的距离. 现给出16个RGB表示的颜色,和一些用于测试的颜色,求被测 ...
- Vue中全局导入和按需导入的区别
export {router} //按需导出 import {router} from './router' //按需导入路由模块 export default //全局导出store模块 store ...