vb.net通过面板控件将图像分配给picturebox

标签 vb.net image panel picturebox

我正在用 VB.NET 编写一个纸牌游戏程序。 我遇到了一个问题。 Computer_Flow 在设计窗口中像 System.Windows.Forms.Panel 一样手动声明。我以编程方式创建了一个像这样的图片框:

Dim P As PictureBox = New PictureBox  
P.Size = New Point(Cards_Width, Cards_Height)  
P.SizeMode = PictureBoxSizeMode.StretchImage  
P.Image = Image.FromFile(Images_Folder_Path & "Back.png")   
P.Tag = Deck(DI)    
P.Margin = New Padding(1)  
Computers_Hand(DI) = Deck(DI)  
Computer_Flow.Controls.Add(P)

稍后我想更改 PictureBox 图像。我正在尝试这样改变它:

Computer_Flow.Controls(i).image = Image.FromFile(Images_Folder_Path & "Back.png")  

但我收到一条错误消息:“image”不是 System.Windows.Forms.Control 的成员。

谁能帮我解决这个问题?

谢谢!

最佳答案

您必须将控件cast图片框才能获得结果。 试试这个,

CType(Computer_Flow.Controls(i),PictureBox).image=Image.FromFile(Images_Folder_Path & "Back.png")

CType

编辑:

您可以通过这样有效的方式轻松避免 invalidCastException

If TypeOf Computer_Flow.Controls(i) Is PictureBox then

CType(Computer_Flow.Controls(i),PictureBox).image=Image.FromFile(Images_Folder_Path & "Back.png")

End If

TypeOf

关于vb.net通过面板控件将图像分配给picturebox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14629890/

相关文章:

sql - 使用 vb.net 将表脚本编写为 CREATE TO

c# - 我如何强制 Resharper 将 CLR 类型名称用于自动生成的代码?

javascript - 如何通过 react-share 共享动态生成的图像?

css - Div 的高度得到扩展,但元素出现在 div 的工作空间之外

c# - 在鼠标点击的地方绘制矩形

c# - 关于 .Net 中通用字典中引用类型键的快速问题

javascript - 使用 HTML 的图像 slider

CSS:如果大于窗口,则缩小背景图像,否则保持 100%

html - 只需通过 href 链接一个 Accordion 面板并保持折叠功能

c# - 针对 Compact Framework 的 StackForm MSDN 建议的实际实现