SplitButton:XP 风格的下拉分割按钮






4.73/5 (39投票s)
SplitButton 控件表示标准主题支持的 XP 风格的下拉分割按钮。
|
|
引言
昨天,我正在思考解决特定情况(从一个逻辑导出的具体操作)的最佳方法是分割按钮。在 MSDN 上搜索和搜索,但没有结果,所以我感到困惑:.NET 中没有分割按钮?不,没有。奇怪的是,存在一个 StripSplitButton
(或类似的东西),即 ToolStrip
的分割按钮等效项。可能,因为它不是系统的标准控件,所以他们认为不包括该控件,因为它很容易用图像模拟其功能,这就是我所做的。
使用代码
该控件非常易于使用。无论如何,这是分步操作方法
- 在您的项目中包含 *SplitButton.cs* 和 *SplitButton.designer.cs*。
- 在 Visual Studio 的工具箱中加载程序集,或者只是在您的窗体中插入一个
Button
控件,然后将类型从Button
更改为SplitButton
。[已更新:06 年 10 月] 您可以在此处停止,分割状态的默认图像将由控件使用,或者您可以按照以下步骤自定义分割图像。
可选
- 向您的窗体(或控件或任何其他内容)添加一个
ImageList
,并将SplitButton
的ImageList
属性设置为此ImageList
。 - 将您想要的图像添加到
ImageList
中,用于SplitButton
分割器侧面的状态:Normal
、Hover
、Clicked
、Disabled
、Focused
。 - 现在,查看
SplitButton
的属性窗口,转到“Split Button Images”类别,然后只需从图像的列表框(SplitButton
的ImageList
中的图像)中为每个状态选择一个图像。 - 现在,您可以设置一些建议的选项:将
TextAlign
设置为MiddleLeft
,将ImageAlign
设置为MiddleRight
,并将TextImageRelation
设置为TextBeforeImage
。 您完成了。
现在您可以为 SplitButton
设置一些自定义选项,以下是简要说明
bool DoubleClickedEnabled
- 指示是否在SplitButton
上引发双击事件。bool AlwaysDropDown
- 指示即使单击按钮部分,SplitButton
是否始终显示下拉菜单。bool AlwaysHoverChange
- 指示即使鼠标悬停在按钮部分上,SplitButton
是否始终在分割部分显示悬停图像状态。bool CalculateSplitRect
- 指示是否必须计算分割矩形(基于分割图像大小)。bool FillSplitHeight
- 指示即使分割图像高度较低,分割高度是否必须填充到按钮高度。int SplitHeight
- 分割高度(如果CalculateSplitRect
设置为true
,则忽略)。int SplitWidth
- 分割宽度(如果CalculateSplitRect
设置为true
,则忽略)。
除此之外,还有两个事件
ButtonClick
- 在单击SplitButton
的按钮部分时发生。ButtonDoubleClick
- 在双击SplitButton
的按钮部分时发生。
结论
我知道这只是一个简单的控件,但在我看来它可能很有用。
所以,我想就这些了。希望您觉得有用,再见!