当鼠标悬停在panel上时,怎样让panel控件怎么用变大小

  如果将窗体或容器panel控件怎么鼡(如Panelpanel控件怎么用)的AutoScroll属性设置为True时那么当窗体或Panel容不下其中的子panel控件怎么用时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中嘚全部内容但是默认情况下滚动条的移动只能通过鼠标直接拖动滚动条来实现,而不能通过鼠标的滚 轮来实现上下移动因此需要手动添加代码来实现这个功能。

  滚动鼠标的滚轮触发的是窗体或panel控件怎么用上的 MouseWheel 事件。但是在VS.net2005中窗体和panel控件怎么用的事件列表中却不包含 MouseWheel 事件,因此关于这个事件的全部代码必须手动输入这里以添加一个Panel的 MouseWheel 事件为例。首先在窗体的构造函数或InitializeComponent函数中添加对MouseWheel 事件的订閱:

 
  这样只是使Panel能接收鼠标的滚动事件,但还不能实现滚动条的上下移动因此还需要添加以下代码:
  如果添加了以上代码,就認为万事大吉了那就大错特错了。运行以上的程序可以发现,Panelpanel控件怎么用并不能对鼠标滚轮事件做出反应原因是 Panelpanel控件怎么用默认不能获得焦点,因此它就不能捕获鼠标也就不能捕获鼠标的滚轮事件。解决方法是让Panelpanel控件怎么用先获得焦点可以通过Panel的 MouseClick事件或MouseEnter事件来执荇this.Panel.Focus()以达到目的。这样当鼠标点击了Panelpanel控件怎么用或移动到 Panelpanel控件怎么用上时它就获得了焦点因此还需要添加以下代码:
  这样再执行程序,就可以达到通过鼠标滚动来移动滚动条的目的了
  除此之外还要说的一点是,触发鼠标的滚动事件后处理事件的函数参数 MouseEventArgs e 中有个Delta屬性,默认情况下向上滚动e.Delta=120向下滚动e.Delta=-120。
  以上的程序还不是特别完美因为当Panelpanel控件怎么用较大而没有显示滚动条时,或滚动条已在最仩方而滚轮又是向上滚动或滚动条已在最下方而滚轮又 是向下滚动时,同样会执行Panel.Refresh();Panel.Invalidate();Panel.Update();等窗体重绘代码占用 较多资源。因此可以在执行这些代码前先对Panel的当前状况做判断完整的程序代码如下: //当鼠标在右侧面板上单击时,激活其滚动事件
 

}

在某些需频繁操作的环节中为提高效率、减少劳动,可以在操作细节上下功夫以带来更好的用户体验。

今天介绍的鼠标悬停显示功能就是一例看似仅仅节省了一次點击,实则在繁复操作中能够为用户节约很多体力提高舒适度。

鼠标移入设置区域后直接弹出详尽设置内容,并当进行了设置或鼠标迻出弹出的设置区域后自动关闭弹出的设置区域。

在这里我设计了5个按钮,以及一个日历panel控件怎么用该日历panel控件怎么用就作为我们嘚详细设置内容,将其Visible属性设为False以隐藏

代码中首先将日历panel控件怎么用的坐标设为与触发事件的按钮位置相同,然后显示日历panel控件怎么用并将其发送到界面最前端以确保不被遮挡,最后将其Tag属性赋值为触发该事件的按钮以方便后面事件中引用。

(PS:panel控件怎么用的Tag属性一矗没弄明白正经是干嘛用的所以一直都用来随便装东西以方便传递^^)

随后为日历panel控件怎么用分别增加如下两个事件处理函数:

功能很简單,就不累述了

}

我要回帖

更多关于 panel控件怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信