当前位置:网站首页 / WPF / 正文

写给自己的WPF4.5 28[OpenFileDialog,SaveFileDialog,PrintDialog,ColorDialog,FontDialog,FolderBrowserDialog]

时间:2015年07月28日 | 作者 : aaronyang | 分类 : WPF | 浏览: 3067次 | 评论 0

======================================== AYUI       www.ayjs.net      AY         杨洋原创编写,请不要转载谢谢===============

  /// <summary>
        /// 
        /// </summary>
        /// <param name="initialDirectory"></param>
        /// <param name="defaultPath"></param>
        /// <param name="filter">例如"All files (*.*)|*.*|txt files (*.txt)|*.txt"</param>
        /// <param name="defaultExtension"></param>
        /// <returns></returns>
        public string OpenFileDialog(string initialDirectory, string defaultPath, string filter, string defaultExtension)
        {
            var d = new OpenFileDialog();
            d.InitialDirectory = initialDirectory;
            d.FileName = defaultPath;
            d.Filter = filter;
            d.DefaultExt = defaultExtension;
            d.RestoreDirectory = true;
            if (!d.ShowDialog().Value)
            {
                return null;
            }

            return d.FileName;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="initialDirectory"></param>
        /// <param name="defaultPath"></param>
        /// <param name="filter">例如"All files (*.*)|*.*|txt files (*.txt)|*.txt"</param>
        /// <param name="defaultExtension"></param>
        /// <returns></returns>
        public string SaveFileDialog(string initialDirectory, string defaultPath, string filter, string defaultExtension)
        {
            var d = new SaveFileDialog();
            d.InitialDirectory = initialDirectory;
            d.FileName = defaultPath;
            d.Filter = filter;
            d.DefaultExt = defaultExtension;
            d.RestoreDirectory = true;
            if (!d.ShowDialog().Value)
            {
                return null;
            }

            return d.FileName;
        }

 OpenFileDialog控件有以下基本属性

InitialDirectory 对话框的初始目录 

Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" 

FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 

RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 

FileName 第一个在对话框中显示的文件或最后一个选取的文件 

Title 将显示在对话框标题栏中的字符 

AddExtension 是否自动添加默认扩展名 

CheckPathExists 在对话框返回之前,检查指定路径是否存在 

DefaultExt 默认扩展名 

DereferenceLinks 在从对话框返回前是否取消引用快捷方式 

ShowHelp 启用"帮助"按钮 

ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列

OpenFileDialog控件有以下常用事件

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 

HelpRequest 当用户点击"帮助"按钮时要处理的事件


可以用以下代码来实现上面这个对话框:

private void openFileDialogBTN_Click(object sender, System.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("");
    }
}

路径的返回用filename是字符串类型


如:openFileDialog1.ShowDialog();

   _name1= openFileDialog1.FileName;

   Image imge = Image.FromFile(_name1);

选择多个文件

OpenFileDialog   dlg   =   new   OpenFileDialog(); 
dlg.Multiselect   =   true; 

if   (dlg.ShowDialog()   ==   DialogResult.OK) 
{ 
    foreach(string   s   in   dlg.FileNames) 
    { 
        MessageBox.Show(s); 
    } 
}

颜色对话框

   ColorDialog cd = new ColorDialog();
            if (cd.ShowDialog() == DialogResult.OK)
            {
                this.BackColor = cd.Color;
            }

            if (cd.ShowDialog() == DialogResult.Cancel)
            {
                MessageBox.Show("sf");
            }

字体对话框

  FontDialog fd = new FontDialog();
            if (fd.ShowDialog() == DialogResult.OK)
            {
                this.Font = fd.Font;
            }

            if (fd.ShowDialog() == DialogResult.Cancel)
            {
                MessageBox.Show("sf");
            }

打印对话框PrintDialog控件

下面对这几种常见的属性进行详细的介绍。

(1)Document属性

用于获取PrinterSettings的PrintDocument。

语法:

public PrintDocument Document { get; set; }

属性值:PrinterSettings的PrintDocument。


(2)AllowCurrentPage属性

用于设置是否显示“当前页”选项按钮。

语法:

public bool AllowCurrentPage { get; set; }

属性值:如果显示“当前页”选项按钮,为true;否则为false。默认为false。


(3)AllowPrintToFile属性

用于设置是否启用“打印到文件”复选框。

语法:

public bool AllowPrintToFile { get; set; }

属性值:如果启用“打印到文件”复选框,为true;否则为false。默认为true。


(4)AllowSelection属性

用于设置是否启用“选择”选项按钮。

语法:

public bool AllowSelection { get; set; }

属性值:如果启用“选择”选项按钮,为true;否则为false。默认为false。


(5)AllowSomePages属性

用于设置是否启用“页”选项按钮。

语法:

public bool AllowSomePages { get; set; }


属性值:如果启用“页”选项按钮,为true;否则为false。默认为false。

例  创建一个Windows应用程序,向窗体中添加一个PrintDialog控件、一个PrintDocument控件和一个Button控件。在Button控件的Click事件中设置PrintDialog控件的相应属性,最后打开“打印”设置窗体,代码如下。

private void button1_Click(object sender, EventArgs e)
        {
            //设置printDialog控件的Document属性,设置操作文档
            printDialog1.Document = printDocument1;
            //启用"打印到文件"复选框
            printDialog1.AllowPrintToFile = true;
            //显示“当前项”按钮
            printDialog1.AllowCurrentPage = true;
            //启用"选择按钮"
            printDialog1.AllowSelection = true;
            //启用"页"按钮
            printDialog1.AllowSomePages = true;
            printDialog1.ShowDialog();

        }

www.ayjs.net      AY      AYUI       杨洋

选择文件夹FolderBrowserDialog

  FolderBrowserDialog dialog = new FolderBrowserDialog();
            dialog.Description = "请选择需要压缩的文件夹";
            if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK)
            {
                string foldPath = dialog.SelectedPath;
                txtYaSuoPath.Text = foldPath;
            }


推荐您阅读更多有关于“WPF4.5,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

抖音:wpfui 工作wpf,目前主maui

招聘合肥一枚WPF工程师,跟我一个开发组,10-15K,欢迎打扰

目前在合肥市企迈科技就职

AYUI8全源码 Github地址:前往获取

杨洋(AaronYang简称AY,安徽六安人)AY唯一QQ:875556003和AY交流

高中学历,2010年开始web开发,2015年1月17日开始学习WPF

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

标签列表