有没有办法在ToolStripSplitButton上设置选中状态?我想要一个ToolStripButton,它具有Checked属性以确定是否在我的应用程序窗口中显示叠加层。我的用户希望直接交互来控制叠加层的不透明度,为此我想要一个分裂按钮,其中次要按钮打开一个滑块条以控制不透明度。(当然,这不是标准功能,但我有信心能够将其组合在一起)。
然而,ToolStripSplitButton没有Checked属性,因此我不能直接这样做。我尝试使用标准ToolStripButton和单独的ToolStripSplitButton,DropDownButtonWidth = 11,Margin = -5, 1, 0, 2,使它看起来像属于ToolStripButton一样。它看起来很好,但为了完成它们成为单个按钮的幻觉,我需要让它们都使用相同的VisualStyles.PushButtonState绘制——所以当鼠标悬停在它们之一上时,它们都变为热状态。
首先我尝试在两个按钮上使用MouseEnter和MouseLeave事件来尝试更改另一个按钮的背景颜色,但是没有效果。然后我尝试使用每个按钮的Paint事件来尝试使用ButtonRenderer.DrawButton以PushButtonState = Hot渲染它们,但这似乎也不起作用,并且变得非常混乱。看起来一定有更好的方法!
有没有简单或实用的解决方案?
编辑:我想要的效果类似于这样:
然而,ToolStripSplitButton没有Checked属性,因此我不能直接这样做。我尝试使用标准ToolStripButton和单独的ToolStripSplitButton,DropDownButtonWidth = 11,Margin = -5, 1, 0, 2,使它看起来像属于ToolStripButton一样。它看起来很好,但为了完成它们成为单个按钮的幻觉,我需要让它们都使用相同的VisualStyles.PushButtonState绘制——所以当鼠标悬停在它们之一上时,它们都变为热状态。
首先我尝试在两个按钮上使用MouseEnter和MouseLeave事件来尝试更改另一个按钮的背景颜色,但是没有效果。然后我尝试使用每个按钮的Paint事件来尝试使用ButtonRenderer.DrawButton以PushButtonState = Hot渲染它们,但这似乎也不起作用,并且变得非常混乱。看起来一定有更好的方法!
有没有简单或实用的解决方案?
编辑:我想要的效果类似于这样: