有没有办法(暂时)阻止用户通过拖动滑块来更改 TrackBar 的值?我发现的唯一方法是将Enabled
属性设置为 false,但它也会使轨迹栏变灰。
编辑: 由于我得到了更多关于为什么不应该这样做而不是如何去做的答案,所以我决定解释为什么我想这样做。
我不是用它来允许用户调整某些应用程序属性的值,而是显示和控制某些操作的进度。想象一下,例如你最喜欢的媒体播放器——它可能包含一些控件(我称之为轨迹栏,但英语不是我的母语,所以它可能是错误的)显示它当前正在播放的电影的哪一部分,但也允许你控制它——及时向后或向前移动并观察不同的部分。
我正是以这种方式使用轨迹栏——我不知道任何其他组件会更好(进度条不允许我改变“位置”)。它工作正常,我唯一想做的就是不允许用户“使用轨迹栏,除非电影暂停”。
出于这个确切的原因,我在 Delphi 6 中多次使用 trackbar 组件,但是当它被禁用时,它并没有变灰,在我看来它工作得很好。这就是为什么我在这里问是否有可能在 C# 中实现相同的效果。