我必须承认,我从来不知道流是什么 - 我一直以为这是互联网的事情.但是现在我遇到了一个使用流来加载文件的代码,我想知道是否有使用流的优势......以及我总是加载文件的方式:
private void loadingfromStream()
{
DirectoryInfo dirInfo = new DirectoryInfo("c:/");
FileInfo[] fileInfoArr = dirInfo.GetFiles();
FileInfo fileInfo = fileInfoArr[0];
// creating a bitmap from a stream
FileStream fileStream = fileInfo.OpenRead();
Bitmap bitmap = new Bitmap(fileStream);
Image currentPicture = (Image)bitmap
}
Run Code Online (Sandbox Code Playgroud)
与
private void loadingUsingImageClass
{
Image currentPicture = Image.FromFile(originalPath);
}
Run Code Online (Sandbox Code Playgroud) 有一个带有ToolStrip的表单.此ToolStrip包含ToolStripButton.我想为此按钮分配图像:
this.btnSaveFile.Image = Bitmap.FromFile("C:\\Work\\Icons\\png\\save.png");
Run Code Online (Sandbox Code Playgroud)
仅当指定路径上有save.png时才有效.否则,我得到一个FileNotFound异常.
如果我通过表单设计器创建了一个表单,Visual Studio将创建如下代码:
this.toolStripButton9.Image = ((System.Drawing.Image) (resources.GetObject("toolStripButton9.Image")));
Run Code Online (Sandbox Code Playgroud)
toolStripButton9.Image这里不是真名.Visual Studio将我的文件save.png删除并将其转换为toolStripButton9.Image.
但我以编程方式创建了一个表单,没有Designer.我的问题是如何以编程方式将图像分配给ToolStripBotton?
我试图将图像添加到项目中,但它没有多大帮助.我不知道如何让Visual Studio抓住它并嵌入我的可执行文件中,这样我就不需要在指定位置使用此文件.
在MSDN,我只看到类似的解决方案是:
this.toolStripButton1.Image = Bitmap.FromFile("c:\\NewItem.bmp");
Run Code Online (Sandbox Code Playgroud)
但它并没有像我上面所说的那样起作用.我知道有一个简单的解决方案,但没有看到它.你能给我一个提示吗?