防止文本框捕获MouseWheel事件

时间:2016-05-24 10:36:21

标签: vb.net mousewheel

我有一个textbox,当我用鼠标滚轮向下滚动表单并用鼠标点击文本框时,它会停止滚动。

有没有办法避免这种情况?

3 个答案:

答案 0 :(得分:0)

如果您只想要视觉部分,请更改属性"光标"将文本框改为" Arrow"

enter image description here

答案 1 :(得分:0)

如果您不想关注TextBox,那么您需要一些解决方案

  1. ReadOnly属性设置为True
  2. 如果您以编程方式执行此操作,则无法在TextBox中输入文本。但是,仍然可以单击它,如果单击它,您将看到闪烁的光标(不知道英文名称)。当移动器悬停它时,它将变成一个光标。

    这意味着此选项允许关注控件,但无法输入数据。

    1. Enabled属性设置为False
    2. 同样,无法输入任何数据。此外,无法单击它,如果将鼠标悬停在光标上,光标也不会改变。

      这意味着此选项不允许关注控件。

      1. 改为Label
      2. 如果没有人能够在您的TextBox中插入数据,那么最好在Label放置Label。如果您选择选项1或2,那是因为在某些时候您可能允许用户更改其中的文本。但如果它只能由程序修改,#!/usr/bin/python import pygame pygame.init() window=pygame.display.set_mode([500,500]) pygame.display.set_caption("Drop") clock = pygame.time.Clock() game_running=True y=0;yy=1 accy = [0,0,0,0,0,0,0,0] while game_running: for event in pygame.event.get(): if event.type==pygame.QUIT: game_running=False window.fill((0,0,0)) x=0 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[0],50,50],0) x+=60 if not accy[0]==450: accy[0]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[1],50,50],0) x+=60 if accy[0] >= 50 and not accy[1] == 450: accy[1]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[2],50,50],0) x+=60 if accy[1] >= 50 and not accy[2] == 450: accy[2]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[3],50,50],0) x+=60 if accy[2] >= 50 and not accy[3] == 450: accy[3]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[4],50,50],0) x+=60 if accy[3] >= 50 and not accy[4] == 450: accy[4]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[5],50,50],0) x+=60 if accy[4] >= 50 and not accy[5] == 450: accy[5]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[6],50,50],0) x+=60 if accy[5] >= 50 and not accy[6] == 450: accy[6]+=1 pygame.draw.rect(window, (101,201,200), [15+x,0+y+accy[7],50,50],0) if accy[6] >= 50 and not accy[7] == 450: accy[7]+=1 clock.tick(60) pygame.display.flip() 就足够了。

        标签上永远不允许对焦。

答案 2 :(得分:0)

好的,如果我理解正确的话,你要搜索的是在传递TextBox时保持鼠标滚动。这是对的吗?

我认为,有一种方法可以实现这一目标。但是此代码尚未经过测试,因此如果有效,请随时通知我。

IndexOf()

这样,当你的文本框捕获一个MouseWheel事件时,它会在表单上传递,它将处理它(我认为)。对不起,我现在没有机会测试它,但我相信这应该可以解决问题。