我正在构建一个我需要使用的应用程序SaveFileDialog.问题是我想限制用户使用的某些部分SaveFileDialog(例如,我不希望他们编辑文件的名称).我听说使用Windows窗体执行此操作非常困难SaveAsDialog.你知道如何在本机代码中执行此操作吗?你有一个完全不可靠的例子(我需要整个例子,因为我从未使用过Windows API)?
PS.我真的需要使用它SaveFileDialog来保持UI的一致性.
我正在使用SaveFileDialog并且必须在FileName中设置长字符串(longFileName).字符串longFileName在运行时已知.
如果我订
saveFileDialog.FileName = longFileName ;
Run Code Online (Sandbox Code Playgroud)
然后我明白了System.IO.PathTooLongException.
我该怎么做?
我正在创建一个richtextbox编辑器,需要设置保存功能以及另存为.我可以通过使用savefiledialog轻松地执行保存功能,但我不知道如何保存没有这个.有人可以帮忙吗?
我正在创建一个供个人使用的小应用程序,它允许我清理我的对象列表.我正在使用各种过滤器在多行文本框中获取最终列表.当我完成后,我使用以下代码将文本框复制到剪贴板.
#region COPY BUTTON
private void button3_Click(object sender, EventArgs e)
{
Clipboard.SetText(textBox_ListDestination.Text);
}
#endregion
Run Code Online (Sandbox Code Playgroud)
我现在要做的是添加另一个按钮,允许我使用SaveFileDialog将同一文本保存到.txt文件.谁能帮我这个?我假设我会使用某种类型的Streaming,但我不在这里.任何帮助,将不胜感激.
我希望在我的项目中有一个自定义的OpenFileDialog表单,我可以添加/删除按钮并自定义我想要的正常表单.这主要是因为它适合我正在使用的主题,另外,我可以添加自定义按钮.有没有关于我如何构建自己的教程?是否有任何预先存在的项目我可以直接从下载中使用?
我试图通过在我的Vue项目中发送Api请求来下载文件,并且使用响应数据我尝试使用blob和FileSaver.js保存文件
sendAjaxCall.then(response => {
let file = new Blob([response.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})
FileSaver.saveAs(file, 'Export2.xlsx')
}
Run Code Online (Sandbox Code Playgroud)
但我无法打开文件,它正在被破坏.
我有一个简单的保存文件对话框,我希望将其用作返回文件路径,名称和扩展名的工具.此函数产生运行时错误,表示文件名周围的堆栈已损坏.我希望像这样使用它:
wchar_t filename[] = L"";
newGradebookDialog( hwnd, filename );
Run Code Online (Sandbox Code Playgroud)
这是我的功能.它按照我的预期修改了文件名,但运行时堆栈错误是我没有得到的.
void newGradebookDialog( HWND hwnd, wchar_t file[] )
{
OPENFILENAME ofn;
wchar_t saveFileName[MAX_PATH] = L"";
ZeroMemory( &ofn, sizeof( ofn ) );
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = L"Database File (*.db)\0*.db\0";
ofn.lpstrFile = saveFileName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = L"db";
ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
ofn.lpstrTitle = L"Save New Database";
if(GetSaveFileName(&ofn))
wcscpy(file,saveFileName);
}
Run Code Online (Sandbox Code Playgroud) 我在C#中使用Windows窗体.我该如何使用saveFileDialog?我有图片框,在图片框上有一个图像,我想保存它.加载的图像是bmp.我想将它保存为4种格式之一:bmp,jpeg,png,tiff.我读了一些关于MDSN的一些注意事项并尝试过但我可能做错了.所以我最好问一下应该怎么写?应该如何编写方法 private void saveFileDialog1_FileOk(object sender,CancelEventArgs e)以及应该如何看待属性saveFileDialog.Filter?谢谢
编辑:
我尝试过:
使用savefiledialog保存图像时发出问题
编辑2:
我试过这个过滤器
Filter = bmp (*.bmp)|*.bmp|jpeg (*.jpeg)|*.jpeg|png (*.png)|*.png|tiff (*.tiff)|*.tiff
Run Code Online (Sandbox Code Playgroud) 我正在制作一个程序,要求用户输入世界名称和作者姓名.单击完成后,将打开saveFileDialog并要求用户选择保存位置.但我希望它自动输入用户输入的世界名称作为文件名.但让用户可以自由地改变它.这是可能的,我该怎么做.
这是我的保存代码,saveFileDialog是在JSON过滤器设置上.
//Saving the project
if (saveWork.ShowDialog() == DialogResult.OK)
{
string output = JsonConvert.SerializeObject(MainForm.CurrentWorld);
try
{
string name = saveWork.FileName;
using (System.IO.StreamWriter sw = new StreamWriter(name))
sw.WriteLine(output);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud) 所以我正在创建一个C#记事本,我差不多完成了,但是这是最后一个问题:我无法保存文件.当我打开一个文件,修改它并尝试保存它时,它会给我一个错误,说明该文件已被进程使用.我相信这个过程是由我的开放文件方法启动的,但我不确定.我有一个方法来保存打开一个保存文件对话框,但我想要一个不需要对话,只是一个快速 CNTRLŇ保存它,你可能会明白我的意思.
我的打开文件方法
private void openItem_Click(object sender, EventArgs e)
{
Stream myStream;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
string srtfilename = openFileDialog1.FileName;
string filetext = File.ReadAllText(srtfilename);
GetRichTextBox().Text = filetext;
tabControl1.SelectedTab.Text = Path.GetFileName(openFileDialog1.FileName);
GlobalPath = openFileDialog1.FileName;
}
openFileDialog1.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
我的保存文件方法WITH对话框,这个工作,但如果我选择我已经使用的文件,它会崩溃.
private void saveAsItem_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.Create))
using (StreamWriter sw = new StreamWriter(s)) …Run Code Online (Sandbox Code Playgroud)