gpt4 book ai didi

c# - 如何让WebBrowser控件关闭jpg文件?

转载 作者:行者123 更新时间:2023-11-30 22:30:38 25 4
gpt4 key购买 nike

我有一个 .Net 4 (VS 2010) WinForms 应用程序,我在其中使用 WebBrowser 控件查看本地硬盘驱动器上的 .jpg 文件。我通过调用打开文件:

this.webBrowser1.Navigate("c:\Folder1\myfile.jpg");

然后我有一个按钮供用户在查看文件后单击以将文件移动到不同的文件夹。

File.Move("c:\Folder1\myfile.jpg","c:\Folder2\myfile.jpg");

这将引发 IOException,因为 WebBrowser 控件仍然打开着文件。

我试过调用 Navigate("about:blank"),我试过处理 WebBrowser 控件等,但没有任何效果。有什么好的方法可以让WebBrowser控件关闭jpg文件?

如果找不到其他解决方案,我将被迫将 jpg 复制到一个临时文件夹并使用它来查看,以便我可以根据需要移动原始文件。

最佳答案

好的,我在代码的另一部分发现了一个错误。我有这个方法,我在 WebBrowser 控件的 Navigated 和 Resize 事件中调用它来缩放控件,使图像适合控件的宽度。

private void SetBrowserZoom()
{
if (CurrentSelectedFilePath.ToLower().EndsWith(".jpg"))
{
var bitMap = new System.Drawing.Bitmap(CurrentSelectedFilePath);
decimal imageWidth = bitMap.Width;
decimal browserWidth = WebBrowser.Width - 40;
decimal zoomFactor = decimal.Round((browserWidth / imageWidth) * 100, 0);
WebBrowser.Document.Images[0].Style = "zoom: " + zoomFactor.ToString() + "%";
bitMap.Dispose();
}
}

我没有在位图上调用 Dispose(),这就是使文件保持打开状态的原因。在我添加对 bitMap.Dispose() 的调用后,问题就消失了。

感谢那些花时间帮助我的人。

关于c# - 如何让WebBrowser控件关闭jpg文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com