.net picturebox控件未触发鼠标事件

.net picturebox控件未触发鼠标事件,.net,vb.net,winforms,picturebox,.net,Vb.net,Winforms,Picturebox,我在VS2010下开发的VB winform应用程序的groupbox控件中有一个picturebox控件。我使用设计器添加一个MouseClick()事件,这与您通常使用的一样。在我的代码中,我创建了一个位图,如下所示: Dim bmSource As Bitmap = New Bitmap(nWidth, nHeight,System.Drawing.Imaging.PixelFormat.Format32bppPArgb) (很抱歉使用匈牙利符号!),然后创建另一个位图,该位图将渲染到上

我在VS2010下开发的VB winform应用程序的groupbox控件中有一个picturebox控件。我使用设计器添加一个MouseClick()事件,这与您通常使用的一样。在我的代码中,我创建了一个位图,如下所示:

Dim bmSource As Bitmap = New Bitmap(nWidth, nHeight,System.Drawing.Imaging.PixelFormat.Format32bppPArgb)
(很抱歉使用匈牙利符号!),然后创建另一个位图,该位图将渲染到上述位图中:

Dim bmSprite As New Bitmap(48, 42, System.Drawing.Imaging.PixelFormat.Format32bppPArgb)         
Dim g As Graphics = Graphics.FromImage(bmSource)
g.DrawImage(bmSprite, nXPos * 48, nYPos * 42)
并将其分配给picturebox控件:

pbSprites.Image = bmSource
到目前为止还不错,当我启动应用程序时,我在大位图中看到了小位图。问题是MouseClick()事件只有在我在较小的位图外部但仍在另一个位图内部单击时才会触发。bmSprite大约是bmSource大小的三分之一

请注意,bmSource也是一个拖放源,但这似乎不是问题,因为当我删除拖放代码时,它仍然不起作用


谢谢

这是不可能的,你误解了正在发生的事情。修补SizeMode属性,因为没有更好的解释。如果我使用stretchimage、centreimage或zoom,它可以工作,但我不希望picturebox控件以任何方式更改图像。嗯,将PictureBox.Size设置为位图.Size,这样就不重要了。我不能这样做,因为位图需要大于PictureBox,这样才能在其中滚动。这是不可能的,PictureBox无法滚动。