C# 将图像置于动态创建的按钮上

C# 将图像置于动态创建的按钮上,c#,winforms,button,C#,Winforms,Button,我已经动态创建了一个按钮,现在我需要把它的图像,这是我的硬盘上保存。我试过了 btndynamic.image=((Sytem.Drawing.Image)(resources.GetObject("button.Image"))); 但它给了我一个错误: 当前上下文中不存在名称“resources” 然后我试着: btndynamic.image=Image.FromFile(@"images\image1.jpg"); 再次给我一个错误: 验证文件是否存在于指定位置 那么我做错了什么,或

我已经动态创建了一个按钮,现在我需要把它的图像,这是我的硬盘上保存。我试过了

btndynamic.image=((Sytem.Drawing.Image)(resources.GetObject("button.Image")));
但它给了我一个错误: 当前上下文中不存在名称“resources”

然后我试着:

btndynamic.image=Image.FromFile(@"images\image1.jpg");
再次给我一个错误: 验证文件是否存在于指定位置


那么我做错了什么,或者还有其他方法。

您可以在表单上使用
ImageList
控件。此控件在运行时不可见,可用于添加以后需要在表单中使用的图像。 您在表单上添加此控件的方式与添加按钮的方式完全相同,您可以在工具箱中的
组件
选项卡下找到它。 在属性中,您将看到一个
Images
属性,您只需编辑它,您将看到一个对话框,您可以在其中从磁盘添加图像资源。只需添加所需内容,并为每个添加的图像设置属性(如键)

然后,您只需从该控件获取按钮所需的图像:

有两种方法,使用索引

dynamicButton.Image = imageList1.Images[index];
还是钥匙

dynamicButton.Image = imageList1.Images["your_image_key"];
这样,图像就可以包含在程序集中,而不必担心路径问题

如果您需要更多信息,请尝试以下链接:


您可以将图像添加到资源中,然后将按钮图像属性分配给它,如下所示:

NewButton.Image = global::YOURPROJECTNAME.Properties.Resources.YOURRESOURCENAME;

如何创建和初始化
资源
变量?是否将图像添加到项目的资源中?如果是,该资源如何命名?另外,对于提供相对路径的第二个选项,您的
debug
目录中是否确实有
image
文件夹?关于
image.FromFile
请记住,代码目录与sturtup目录不同,请尝试使用绝对路径,如c:\yourimage。jpg@ppetrov是图像已添加到资源文件,您所说的资源名称是什么意思。对于第二部分,我的项目中有一个images文件夹。请您解释一下从未使用过的imagelist控件。谢谢