Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function Visual Basic-如何为运行时创建的对象创建函数_Function_Visual Studio 2012_Procedure - Fatal编程技术网

Function Visual Basic-如何为运行时创建的对象创建函数

Function Visual Basic-如何为运行时创建的对象创建函数,function,visual-studio-2012,procedure,Function,Visual Studio 2012,Procedure,我对Visual Basic 2013 Express有点生疏。在设计时,我创建了一个自定义类“BoardGameGrid”,其中有一个像BoardGameGrid.GridImage(X,Y)一样的PictureBox数组(8x8) 在运行期间,我用值填充数组(例如,我的例子中是一个Otherlo游戏板),并且我可以手动(在代码中)将适当的游戏块放置到游戏板上 但现在我正在努力为DragEnter和DragDrop之类的东西创建事件处理程序。有什么建议吗 这就是我认为它可能会起作用的方式(当然

我对Visual Basic 2013 Express有点生疏。在设计时,我创建了一个自定义类“BoardGameGrid”,其中有一个像BoardGameGrid.GridImage(X,Y)一样的PictureBox数组(8x8)

在运行期间,我用值填充数组(例如,我的例子中是一个Otherlo游戏板),并且我可以手动(在代码中)将适当的游戏块放置到游戏板上

但现在我正在努力为DragEnter和DragDrop之类的东西创建事件处理程序。有什么建议吗

这就是我认为它可能会起作用的方式(当然不会),但它可能有助于让人们了解我正在尝试做什么以及为什么它对我不起作用

BoardGameGrid.GridImage(0,0) = My.Resources.BluePiece
BoardGameGrid.GridImage(0,1) = My.Resources.AvailableSpot
所以现在网格(0,1)是“可用的”,我希望玩家将他们的游戏块(从pictureBox)拖到那个位置并“拿走”那个位置--难倒--

因为我的网格是8x8,我可以通过编程实现吗?或者我是否需要为DragEnter手动键入64个私有sub,为DragDrop事件手动键入64个其他私有sub

Private Sub BoardGameGrid.GridImage(0,1)_DragEnter(....)
   ....
End Sub
我知道,如果我在设计时手动创建每个pictureBox,我就可以用128个事件处理程序函数做任何我想做的事情。我想我只是太懒了,想编写smrt

任何提示都将不胜感激


-Drew

当然,您可以在数组中循环并使用AddHandler将所有PictureBox连接到相同的DragEnter/DragDrop处理程序。这些事件中的“sender”参数将告诉您哪个PB是事件的源。啊哈!谢谢,这看起来像是我想找的。谢谢你的提示