【问题标题】:allowing user to resize trackbar允许用户调整轨迹栏的大小
【发布时间】:2009-07-15 05:16:57
【问题描述】:

我想允许用户在 vb.net 中使用跟踪栏的大小。有没有简单的方法可以做到这一点?

我想澄清一下,我希望用户能够像在设计模式下一样通过拖动来调整轨迹栏的大小。

【问题讨论】:

  • 您是否希望用户能够通过使用鼠标或在 UI 中设置一些数字来更改大小或轨迹栏?

标签: vb.net winforms


【解决方案1】:

您可以像这样分配新的轨迹栏尺寸:

TrackBar1.Size = New Point(newwidth, newheight)

处理您提到的用户界面的一种方法是使用轨迹栏的 mousemove、mouseup 和 mousedown 事件。

当您在鼠标左键向上时获得 mousemove 轨迹栏事件时,您可以根据光标是否靠近边缘来更改光标(左右箭头表示左边缘或右边缘,上下箭头表示上边缘或下边缘) 、角落附近(对角箭头)或轨迹栏中间的其他位置(4 个箭头)。

当您获得 mousedown 轨迹栏事件时,保存位置。如果它靠近边缘或角落,您将拉伸轨迹栏的边缘或角落。如果它位于中心区域,您将移动它(如果可以的话)。

当您通过左键按下鼠标移动轨迹栏事件时,使用轨迹栏大小和位置属性移动和/或调整轨迹栏大小。将当前位置与您在 mousedown 事件中保存的位置进行比较,然后拉伸或移动该距离。根据上一个 mousedown 事件中的位置定义的当前操作(边缘拉伸、角拉伸或移动)执行调整大小和/或重新定位。此时,您可以绘制一个矩形或调整轨迹栏的大小,以您认为更好的方式为准。

当您收到 mouseup 事件时,通过设置新的轨迹栏大小和位置来完成操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多