鼠标滚轮在system.windows.forms.panel中为什么没有反应?

block 2003-02-17 08:09:31
当system.windows.forms.panel中有很多内容时,使用鼠标滚轮为什么没有反应,难道需要自己设定事件代码吗?应该如何做?谢谢!
...全文
267 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
block 2003-02-19
  • 打赏
  • 举报
回复
??
block 2003-02-19
  • 打赏
  • 举报
回复
失败!无法使用Handles xiansiping.MouseWheel,所以事件根本无法响应。
难道没有人知道这个问题??那么大家在panel中如何使内容翻页的,这应该是同样的问题!

看来这个小问题有点难度,能够帮助解决的朋友我会再加一百分,谢谢。
Montaque 2003-02-18
  • 打赏
  • 举报
回复
帮你粘贴一下吧:
Control.MouseWheel 事件 [Visual Basic]请参见
Control 类 | Control 成员 | System.Windows.Forms 命名空间 | OnMouseWheel
要求
平台: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family
语言
C#

C++

JScript

Visual Basic

全部显示


在移动鼠标轮并且控件有焦点时发生。

[Visual Basic]
Public Event MouseWheel As MouseEventHandler
[C#]
public event MouseEventHandler MouseWheel;
[C++]
public: __event MouseEventHandler* MouseWheel;
[JScript] 在 JScript 中,可以处理由某个类定义的事件,但不能定义自己的事件。

事件数据
事件处理程序接收一个 MouseEventArgs 类型的参数,它包含与此事件相关的数据。下列 MouseEventArgs 属性提供特定于此事件的信息。

属性 说明
Button 获取曾按下的是哪个鼠标按钮。
Clicks 获取按下并释放鼠标按钮的次数。
Delta 获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。
X 获取鼠标单击的 x 坐标。
Y 获取鼠标单击的 y 坐标。

备注
在处理 MouseWheel 事件时,重要的一点是,要遵循与鼠标轮相关的用户界面 (UI) 标准。MouseEventArgs.Delta 属性值指示鼠标轮的移动量。当累积的增量达到 +120 或 -120 时 UI 应滚动。UI 滚动的逻辑行数是每次达到增量值时 SystemInformation.MouseWheelScrollLines 属性返回的值。还可以以小于 120 单位的增量更平滑地滚动,但是比率应保持不变,即鼠标轮每移动 120 增量单位滚动的 SystemInformation.MouseWheelScrollLines 行数不变。

有关处理鼠标轮消息的更多信息,请参阅 MSDN Library 中 Windows Platform SDK 参考中的 WM_MOUSEWHEEL 消息文档。

鼠标事件按下列顺序发生:

MouseEnter
MouseMove
MouseHover/MouseDown/MouseWheel
MouseUp
MouseLeave
有关处理事件的更多信息,请参阅使用事件。

要求
TheAres 2003-02-18
  • 打赏
  • 举报
回复
If you install VS.Net, just copy that to your browser.
By the way, it is "ms-hep://", not "help://".

block 2003-02-18
  • 打赏
  • 举报
回复
to:TheAres(班门斧)
参照http://www.dotnet247.com/247reference/msgs/17/88811.aspx写了如下事件,其中xiansiping是system.windows.forms.panel控件。
Private Sub xiansiping_MouseWheel(ByVal e As System.Windows.Forms.MouseEventArgs)
If (e.Delta > 0) Then
If (xiansiping.Value < xiansiping.Maximum) Then
xiansiping.Value += 1
End If
Else
If (xiansiping.Value > xiansiping.Minimum) Then
xiansiping.Value -= 1
End If
End If
End Sub

出现
“Value”不是“System.Windows.Forms.Panel”的成员。“Maximum”不是“System.Windows.Forms.Panel”的成员。
的错误!!
block 2003-02-18
  • 打赏
  • 举报
回复
help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfSystemWindowsFormsControlClassMouseWheelTopic.htm
这个地址打不开???
TheAres 2003-02-18
  • 打赏
  • 举报
回复
>>1.在system.windows.forms.panel好像没有MouseWheel事件?

直接敲入就可以,不知道为什么没有.编译没有出错,运行不知道.

>>2.如何在MouseWheel事件中写用鼠标滚轮滚动内容的代码?
参考这两个代码:
Using OnMouseWheel Event
http://www.dotnet247.com/247reference/msgs/17/88811.aspx

using Mouse Wheel?
http://www.dotnet247.com/247reference/msgs/16/82513.aspx
block 2003-02-18
  • 打赏
  • 举报
回复
两个问题:
1.在system.windows.forms.panel好像没有MouseWheel事件?
2.如何在MouseWheel事件中写用鼠标滚轮滚动内容的代码?
TheAres 2003-02-17
  • 打赏
  • 举报
回复
没有鼠标滚轮,没有办法调试.所以下面的答案有可能不对.

你可以看看MouseWheel事件是不是合适.
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfSystemWindowsFormsControlClassMouseWheelTopic.htm

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧