我正在使用加载图像
OpenFileDialog open = new OpenFileDialog();
Run Code Online (Sandbox Code Playgroud)
选择文件后,"打开"将填充多个项目,包括路径.
现在我想将文件加载到文件流(或类似的东西)中,通过网络服务发送......这可能吗?
谢谢
我的程序有一个按钮,当点击它打开一个openfiledialog来选择一张图片:
private string ChoosePicture()
{
fDialog.Title = "Select Picture";
fDialog.Filter = "Image Files (*.bmp, *.gif, *.jpg)|*.bmp; *.gif*;*.jpg";
fDialog.InitialDirectory = "C:";
fDialog.ShowDialog();
fDialog.AddExtension = true;
fDialog.CheckFileExists = true;
fDialog.CheckPathExists = true;
//returns a string for the directory
return fDialog.FileName.ToString();
}
Run Code Online (Sandbox Code Playgroud)
使用dialogresult框上的检查还没有解决我的问题:
fDialog.AddExtension = true;
fDialog.CheckFileExists = true;
fDialog.CheckPathExists = true;
DialogResult res = fDialog.ShowDialog();
if (res == DialogResult.OK)
{
//returns a string for the directory
return fDialog.FileName.ToString();
}
return null;
Run Code Online (Sandbox Code Playgroud)
如果我选择图片并完成文件选择,代码可以正常工作.但是,如果我在两者之间的任何时候取消该过程,我会得到例外情况"路径不是合法形式".我不确定哪个部分我想象我可以用a来处理这个问题try-catch,但是我不肯定哪个部分导致了这个问题?如果我try catch调用ChoosePicture()方法,我至少可以阻止它崩溃程序,但是当fdialogbox中没有选择图片时仍然会抛出异常.
这是我拥有的一些代码的简化版本。在第一帧中,用户使用“tk.filedialog”选择一个 csv 文件,该文件将绘制在画布上的同一帧上。
还有第二个框架能够绘制图表,以便在不同的框架上更容易地进行绘制。
运行此版本的代码会导致错误:“ValueError:无效的文件路径或缓冲区对象类型:”。我不确定如何让这段代码在不发生此问题的情况下工作,以便用户选择的文件在带有“a”和“b”列的空图表上绘制。
import csv
import pandas as pd
import tkinter as tk
from tkinter import filedialog
from tkinter import ttk
from tkinter import messagebox
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
fig = Figure(figsize=(5,4), dpi=100)
ax= fig.add_subplot(111)
LARGE_FONT= ("Verdana", 12)
class GUI(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Tk.wm_title(self, "GUI")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (Home, Graph):
frame …Run Code Online (Sandbox Code Playgroud) 是否可以创建/拥有非模态.net OpenFileDialog我在主对话框中有一个UI元素,总是需要用户按下.
有没有办法修改OpenFileDialog的行为,以便它查看它打开的文件夹中的文件,然后根据其内容忽略某些文件?
一个例子是打开一个充满Zip文件的文件夹,但只显示包含某个文件的文件夹.
从文档中,有HookProc,但我不确定我是如何使用它的.
请注意,如果可能,我意识到这将是一个相对较慢的操作.目前我并不关心表现.
谢谢!
我有一个带有CHM帮助文件的Delphi 2006应用程序.一切正常,除了我无法获得任何帮助连接到TOpenDialog和TSaveDialog上的"帮助"按钮.
一个简单的程序演示如下所示.单击按钮2将打开帮助文件并显示正确的页面.单击按钮1将打开对话框,但单击对话框中的帮助按钮无效.
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
HTMLHelpViewer ;
type
TForm22 = class(TForm)
OpenDialog1: TOpenDialog;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form22: TForm22;
implementation
{$R *.dfm}
procedure TForm22.Button1Click(Sender: TObject);
begin
OpenDialog1.HelpContext := 10410 ;
OpenDialog1.Execute ;
end;
procedure TForm22.Button2Click(Sender: TObject);
begin
Application.HelpContext (10410) ;
end;
procedure TForm22.FormCreate(Sender: TObject);
begin
Application.HelpFile := …Run Code Online (Sandbox Code Playgroud) 需要在Windows XP和Windows Vista/7中创建原生外观的自定义.Net OpenFileDialog.添加新的控件,等等.有没有办法在.Net(WPF专门)中自定义标准的OpenFileDialog?我已经查看过像OpenFileDialogEx这样的解决方案,但所有关于WINAPI挂钩的东西对我来说都是不可接受的.也许有人知道通过Reflection或其他东西提取原生对话的方法?如何实现Windows Vista/7中的本机OpenFileDialog?它是用WPF编写的吗?提前致谢.
此致,帕维尔.
当我使用此代码打开文件时
if (ofd.ShowDialog() == DialogResult.OK)
text = File.ReadAllText(ofd.FileName, Encoding.Default);
Run Code Online (Sandbox Code Playgroud)
出现一个窗口并要求我选择文件(文件名为空白,如图所示)

如果我第二次按下打开按钮打开文件,文件名显示上一个选定文件的路径(参见图像)每次按下打开按钮时如何清除此路径?

我正在尝试选择已在quickbook软件中打开的文件.
代码:
OpenFileDialog ofdBrowseVInv = new OpenFileDialog();
ofdBrowseVInv.Title = "Locate QuickBook Company File";
ofdBrowseVInv.Filter = "QuickBook Company File (*.qbw,*.qbw)|*.qbw;*.qbm";
ofdBrowseVInv.FileName = "";
if (ofdBrowseVInv.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string strfilename = ofdBrowseVInv.InitialDirectory + ofdBrowseVInv.FileName;
}
Run Code Online (Sandbox Code Playgroud)
选择文件后..我收到消息:文件正在使用中
任何人都可以告诉我如何选择已经打开的文件...

openfiledialog ×10
c# ×7
wpf ×2
.net ×1
chm ×1
csv ×1
delphi ×1
delphi-2006 ×1
directory ×1
exception ×1
file ×1
file-io ×1
filestream ×1
image ×1
modal-dialog ×1
python ×1
tkinter ×1
valueerror ×1
windows-7 ×1
windows-xp ×1