将图像放在动态创建的按钮上

时间:2013-02-21 12:00:03

标签: c# winforms button

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

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

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

然后我尝试了:

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

你有2种方法可以使用索引

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

How to use imageList Control

答案 1 :(得分:0)

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

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