首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在SaveFileDialog中的默认FileName中设置长字符串(> 260)?

在Windows系统中,文件路径长度受到260个字符的限制。为了在SaveFileDialog中的默认文件名(FileName)中设置长字符串(> 260个字符),您可以使用以下方法:

  1. 使用\\?\前缀:

在文件路径的开头添加\\?\前缀,可以允许您访问长路径名(超过260个字符)的文件。例如:

代码语言:csharp
复制
saveFileDialog.FileName = @"\\?\C:\path\to\your\file\with\long\name.txt";
  1. 使用UNC路径:

使用通用命名约定(UNC)路径,它允许您使用更长的路径名。UNC路径的格式为\\server\share\path\to\file。例如:

代码语言:csharp
复制
saveFileDialog.FileName = @"\\yourserver\share\path\to\your\file\with\long\name.txt";
  1. 使用SetFileDialogFileName方法:

您还可以使用SetFileDialogFileName方法来设置SaveFileDialog的默认文件名。这个方法可以处理长文件名(> 260个字符)。例如:

代码语言:csharp
复制
public void SetFileDialogFileName(SaveFileDialog saveFileDialog, string fileName)
{
    int MAX_PATH = 260;
    int fileNameLength = fileName.Length;

    if (fileNameLength <= MAX_PATH)
    {
        saveFileDialog.FileName = fileName;
        return;
    }

    string fileNameWithoutPath = Path.GetFileName(fileName);
    string directoryPath = fileName.Substring(0, fileNameLength - fileNameWithoutPath.Length);

    saveFileDialog.FileName = fileNameWithoutPath;
    saveFileDialog.InitialDirectory = directoryPath;
}

然后,您可以使用此方法设置SaveFileDialog的默认文件名:

代码语言:csharp
复制
string longFileName = @"C:\path\to\your\file\with\long\name.txt";
SetFileDialogFileName(saveFileDialog, longFileName);

这些方法都可以让您在SaveFileDialog中的默认文件名中设置长字符串(> 260个字符)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年11月 Winform控件专题 SaveFileDialog控件详解

实例设置SaveFileDialog实例一些属性,例如默认文件名、文件类型、初始目录等,如下所示:saveFileDialog1.FileName = "myFile.txt";saveFileDialog1...在代码设置SupportMultiDottedExtensions属性方法很简单,只需要在创建SaveFileDialog对象后设置该属性值即可。...() == DialogResult.OK){ // 执行保存操作 // ...}在上面的代码,我们设置SaveFileDialog控件Filter、FileName、InitialDirectory...3.具体案例以下是一个使用SaveFileDialog控件完整Winform案例,示范了如何使用SaveFileDialog控件来保存一个字符串到指定文件。...saveFileDialog.Title = "保存文件"; // 设置保存文件默认扩展名 saveFileDialog.DefaultExt = "txt

68021
  • c# savefiledialog_game是什么意思中文

    用来接收saveFileDialog选择之后文件路径,如下图: 2、下图中代码就是程序全部代码了,对其中重要代码进行解释: InitialDirectory方法:设置saveFileDialog...默认打开目录 Filter属性:用来设置saveFileDialog文件类型,注意后面的写法”JPEG文件|*.jpg这个是一对,前面是筛选器显示名字,后面是规则; RestoreDirectory...属性:用来设置saveFileDialog是否记忆上次打开目录; FileName属性:用来设置saveFileDialog打开时候默认文件名,称如下图: 3、启动程序,点击【保存文件】按键,弹出下图所示画面...,下图中可以看到文件默认指向就是我们设置默认D盘,然后文件名称也是我们设置默认文件名称“123”,保存类型JPEG文件、BMP文件、PNG文件、TIFF文件和GIF文件。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    28120

    写字板(Windows程序设计)

    真为所欲为) 问题描述 验证简易相册程序实现(不需要写入报告) 设计一个类似Windows写字板程序,使其具有以下功能: 提供基本写字板功能,文件打开,保存,支持txt、rtf; 实现多格式文本编辑...、修饰等,均有相应菜单来控制,常用菜单项配备相应工具栏按钮(可参照Windows自带写字板) 按需添加其他代码,窗口布局等; 实现自定义查找对话框,有能力同学可进一步实现替换/全文替换等功能...状态栏显示学生学号、姓名等信息,在窗口标题中显示当前正在编辑文件名 (可选)其他你觉得实用功能:支持word等 (可选)将其改造成MDI程序:父窗口中包含新建、窗口、帮助等菜单;在运行时,子窗口菜单会与其合并...,合理设置各菜单项MergeIndex/MergeAction属性,使其符合我们使用习惯;编程允许用户调整各自窗口间布局关系(平铺、层叠等)等 先看效果 解决方法 richtextbox...,这样我就可以把不同内容相同属性代码放在一起了,同时也可以拥有不同md可以阅读,对于git 整理也是不错(`・ω・´) 发布者:全栈程序员栈,转载请注明出处:https://javaforall.cn

    1.1K10

    【愚公系列】2023年11月 WPF控件专题 SaveFileDialog控件详解

    原生控件是由Microsoft提供内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见标准用户界面元素。...如果用户点击保存按钮,则会返回true,然后可以使用FileName属性来获取用户选择文件名。最后,可以使用File.WriteAllText()方法来将数据写入文件。...以下是SaveFileDialog一些常用属性:DefaultExt:默认文件扩展名,用于在文件名没有指定扩展名时自动添加。Filter:保存文件过滤器,用于限制用户可以选择文件类型。...InitialDirectory:初始目录,用于显示对话框时默认打开目录。Title:对话框标题。FileName默认文件名。CheckPathExists:指示是否检查文件路径是否存在。...= new SaveFileDialog();saveFileDialog.FileName = "Document"; // 指定默认文件名saveFileDialog.DefaultExt = "

    57312

    Winform控件:保存文件对话框(SaveFileDialog

    大家好,又见面了,我是你们朋友全栈君。 SaveFileDialog用于保存文件 1、新建Winform窗体应用程序,命名为SaveFileDialogDemo。...sfd = new SaveFileDialog(); 30 //设置保存文件对话框标题 31 sfd.Title = "请选择要保存文件路径";...//设置保存文件类型 35 sfd.Filter = "文本文件|*.txt|音频文件|*.wav|图片文件|*.jpg|所有文件|*.*"; 36 if..., 0, buffer.Length); 45 } 46 } 47 } 48 } 49 } 4、运行exe程序,在文本框输入要保存内容...: 5、点击“保存文件”按钮,打开保存文件对话框,输入文件名,点击保存: 6、在Debug目录下面可以看到保存对话框.txt这个文件,打开文件,可以看到保存内容: 发布者:全栈程序员栈,转载请注明出处

    2.9K40

    如何解决C#异常:必须先将当前线程设置为单线程单元(STA)模式,然后才能进行OLE调用,请确保你Main函数已在其上标记了STAThreadAttribute

    本文概述 异常示例 解 如果你应用程序运行一段代码, 该代码触发以下ThreadStateException异常: System.Threading.ThreadStateException:’必须先将当前线程设置为单线程单元...} } } 如果从JavaScript上下文(CefSharp线程)执行该函数, 则将触发异常, 因为我们正在CefSharp默认Apartment State内部运行代码。...将主应用程序线程公寓状态设置为ApartmentState.STA唯一方法是将STAThreadAttribute属性应用于入口点方法。...在我们例子, 使用从CefSharp中注册类启动OpenFileDialog方法, 如果在不更改线程单元状态情况下运行代码, 将引发异常。...) { selectedPath = saveFileDialog1.FileName; } })); // Run your code from a thread that

    2.7K10

    为什么使用SaveFileDialog创建文件需要删除权限?

    更奇怪是,虽然报错了,但文件还是会创建出来,不过这是个空文件。不仅WPF,普通记事本也会有这个问题,SaveFileDialog会创建一个空文件,记事本则没有被保存。具体可以看以下GIF: ?...所以如果有文件创建权限,而没有文件删除权限,在创建测试文件后就没办法删除这个测试文件,这时候就会报错,而测试文件留了下来。 有没有发现SaveFileDialog中有一个属性Options?...protected int Options { get; } 本来应该可以设置一个NOTESTFILECREATE标志位,但WPF这个属性是只读,所以WPFSaveFileDialog肯定会创建测试文件...解决方案 SaveFileDialog本身只是Win32 API封装,我们可以参考SaveFileDialog源码,伪装一个调用方法差不多MySaveFileDialog,然后自己封装GetSaveFileName...但看来我等不到有人处理这天,如果再有这种需求,还是将就着用我这个自创SaveFileDialog吧: CustomSaveFileDialog 4.

    88020
    领券