- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 winforms 应用程序,它使用多个 UserControl 填充一个可滚动区域。我的问题是,只要此应用程序 View 可见,是否始终捕获鼠标滚轮滚动?当然,这个应用程序正在为焦点而活跃。
现在我必须单击显示的所有控件的滚动条,您可以滚动槽以使鼠标滚轮滚动工作。我想忽略或跳过这个。我希望能够单击放置在可滚动区域中的这些 UserControls 之一的文本字段之一,然后如果我通过鼠标滚轮滚动,则此 UserControl 不应该是尝试滚动的那个,但是这个可滚动的此 UserControl 与所有其他 UserControl 一起放置的区域(父级)。
最佳答案
在您的主窗体中实现 IMessageFilter
:
public partial class YourForm : Form, IMessageFilter
{
// Your code.
public bool PreFilterMessage ( ref Message m )
{
if ( m.Msg == 0x20A )
{
NativeMethods.SendMessage ( controlToScroll.Handle , m.Msg , m.WParam , m.LParam );
return true;
}
return false;
}
}
通过在其构造函数中调用以下代码,将您的表单注册为消息过滤器。
Application.AddMessageFilter ( this );
SendMessage
具有以下签名:
internal class NativeMethods
{
[DllImport ( "user32.dll" , CharSet = CharSet.Auto )]
public static extern IntPtr SendMessage ( IntPtr hWnd , Int32 Msg , IntPtr wParam , IntPtr lParam );
}
关于c# - "always"捕获鼠标滚轮事件并滚动父级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10530045/
我相信绝大多数小伙伴在自学python时,运用pycharm进行编写程序时发现字体太小不方便进行编写,通常像codeblocks这样的编程软件可以通过“ctrl+滚轮”进行放大和缩小。而
在我的应用程序中,我使用了 Scroller零件。我似乎无法弄清楚我应该在哪个事件上设置一个监听器以便知道何时滚动内容。我试过Event.CHANGE在 Scroller.verticalScroll
我正在使用一个简单的 progressDialog,它运行正常但轮子没有进步: //Progress Dialog final ProgressDialog dialo
我想在点击文本字段时关闭键盘,以便为该文本字段下方的选择器留出空间。 struct ContentView: View { @State private var date = Date()
我是一名优秀的程序员,十分优秀!