gpt4 book ai didi

vb.net - 带有动态添加的图片框控件的面板中的鼠标滚轮滚动?

转载 作者:行者123 更新时间:2023-12-04 17:41:58 25 4
gpt4 key购买 nike

我已经动态地将 20 个图片框添加到面板中,并且希望在使用鼠标滚轮时看到面板滚动。为了实现这一点,我尝试在面板控件上将自动滚动设置为 true。这是代码。
对于 i 作为整数 = 1 到 20:

        Dim b As New PictureBox()
b.Image = Nothing
b.BorderStyle = BorderStyle.FixedSingle
b.Text = i.ToString()
b.Size = New Size(60, 40)
b.Location = New Point(0, (i * b.Height) - b.Height)
b.Parent = Panel1
Panel1.Controls.Add(b)
Next

我用按钮控制做了同样的事情,它工作得很好。
对于 i 作为整数 = 1 到 100:
        Dim b As New Button()

b.Text = i.ToString()
b.Size = New Size(60, 40)
b.Location = New Point(0, (i * b.Height) - b.Height)
b.Parent = Panel1
Panel1.Controls.Add(b)
Next

它适用于“按钮”控件,但不适用于“图片框”或“标签”控件?
如何使用“鼠标滚轮”实现滚动效果?

最佳答案

当面板或其中的控件具有焦点时,面板会随鼠标滚轮滚动。您遇到的问题是,当您单击 PictureBox 和面板时,它都没有获得焦点。如果您调用select()在面板上,您将看到鼠标滚轮再次开始工作。

一种可能的解决方案是在鼠标光标进入面板时通过处理 Control.MouseEnter 事件来选择面板:

void panel1_MouseEnter(object sender, EventArgs e)
{
panel1.select();
}

关于vb.net - 带有动态添加的图片框控件的面板中的鼠标滚轮滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com