作者nickgto (Mater)
看板C_Sharp
标题Re: [问题] 请问如何让读入"图档"後,可以用其他程 …
时间Sat Jul 21 10:55:59 2007
谢谢~horngsh提供KeyWord,我大概知道如何用了
不要用Image.FromFile,改用Image.FromStream
===========================================================================
徵状
当您载入 PictureBox 控制项与图片档案, Visual Studio . NET 整合式开发环境
(IDE) Microsoft 维护档案上的锁定。 当您将 PictureBox 控制项的 Image 属性设定
为一个档案以手动方式在设计阶段, 或者当您在 Run Time 使用 FromFile 方法发生。
解决方案
若要解决这个问题, 请使用 FileStream 物件, 如下所示: // Make sure that you
have added the System.IO namespace.
using System.IO;
// Specify a valid picture file path on your computer.
FileStream fs;
fs = new FileStream("C:\\WINNT\\Web\\Wallpaper\\Fly Away.jpg", FileMode.Open,
FileAccess.Read);
pictureBox1.Image = System.Drawing.Image.FromStream(fs);
fs.Close();
来源:
http://support.microsoft.com/kb/311754/zh-tw
※ 引述《nickgto (Mater)》之铭言:
: 今天碰到一个问题,我把图档A 读入PictureBox後(不关程式)
: 然後用小画家读图档A,虽然可以开启,但却无法存档
: 会出现『..图档A 时发生分享违反(Sharing Violation)..』
: 除非把自己的程式管掉,不然小画家无法存档
: 因为之後此图档A会不断尤其他程式在产生中,
: 然後我可以每格一段时间去载入他
: 请问是否可以让程式不会因为=>Image.FromFile(OpenPhoto.FileName)
: 而变得其他程式无法更改~谢谢
: =========我载入图的方法==========
: PictureBox pic;
: private void btnOpen_Click(object sender, EventArgs e)
: {
: OpenFileDialog OpenPhoto = new OpenFileDialog();
: OpenPhoto.Filter = "bmp瑼椥*.bmp|jpg瑼椥*.jpg";
: if (OpenPhoto.ShowDialog() == DialogResult.OK)
: {
: pic.Image = Image.FromFile(OpenPhoto.FileName);
: }
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.51.177