【问题标题】:Event that fires only when user moves the splitter?仅在用户移动拆分器时触发的事件?
【发布时间】:2010-07-07 13:32:17
【问题描述】:

我有一个带有拆分器控件的 VB .NET 表单,我想在程序运行之间保存它的位置。我目前正在处理 SplitterMoved 事件并存储 SplitterDistance。然后在程序启动时,我将 SplitterDistance 设置为保存的值。

但是,有时程序会调整拆分器的大小,引发 SplitterMoved 事件并覆盖我保存的距离。我在选项卡控件中的多个选项卡上有几个拆分器,每当用户第一次进入新选项卡时,SplitterMoved 事件都会触发。

有没有我可以使用的事件,它只会在用户移动拆分器时触发,而不是在程序移动拆分器时触发?我尝试了 MouseUp,但是当该事件触发时,新的 SplitterDistance 尚未设置。

【问题讨论】:

    标签: vb.net winforms events splitter


    【解决方案1】:

    不,没有单独的事件,因为拆分器被移动。

    鉴于拆分器应该与它不应该更改您存储的值之前的位置相同。您是否正在检查 sender 对象以确保您正在更新正确的拆分器位置?

    【讨论】:

      【解决方案2】:

      SplitterEventArgs 提供拆分器坐标和鼠标坐标。

      我假设对于非用户发起的 SplitterMoved 事件,鼠标坐标将超出范围。

      【讨论】:

      • SplitterEventArgs 具有相同的参数,它不取决于它是由用户触发还是大小更改。
      猜你喜欢
      • 2014-09-18
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      相关资源
      最近更新 更多