0

我已经动态创建了一个按钮,现在我需要将图像放在它上面,它保存在我的硬盘上。我试着做

btndynamic.image=((Sytem.Drawing.Image)(resources.GetObject("button.Image")));

但这给了我一个错误:当前上下文中不存在名称“资源”

然后我尝试了:

btndynamic.image=Image.FromFile(@"images\image1.jpg");

再次给我一个错误:验证文件是否存在于指定位置。

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

4

2 回答 2

0

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

然后,您所要做的就是从此控件中获取按钮所需的图像:

通过使用索引,您有两种方法

dynamicButton.Image = imageList1.Images[index];

或一把钥匙

dynamicButton.Image = imageList1.Images["your_image_key"];

这样您的图像可以包含在您的程序集中,您不必担心路径

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

http://social.msdn.microsoft.com/Forums/eu/csharplanguage/thread/9cda50a5-8eba-4e1f-87ee-7486352c0907

如何使用 imageList 控件

于 2013-02-21T12:10:35.087 回答
0

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

NewButton.Image = global::YOURPROJECTNAME.Properties.Resources.YOURRESOURCENAME;
于 2013-07-03T15:56:15.797 回答