一个XP风格的下拉分离按钮

介绍 昨天,我在想解决一个特殊情况的最好方法(从逻辑上派生的特定行动)是一个分裂按钮。在MSDN上搜索和搜索都没有结果,所以我很困惑:在。net中没有拆分按钮?不,没有。奇怪的是,存在StripSplitButton(或类似的东西),也就是说,分割按钮等同于工具条。可能因为不是系统的标准控件,所以他们没有包含这个控件,因为很容易用图像模拟它的功能,这就是我所做的。 使用的代码 控制是非常容易使用。无论如何,这是一步一步怎么做: 在你的项目中包括SplitButton.cs和SplitButton.designer.cs。 在Visual Studio的工具箱中加载该程序集,或者在窗体中插入按钮控件,然后将类型从Button更改为SplitButton。 [更新:2006年10月]你可以在这里停止,控件将使用分裂状态的默认图像,或者你可以按照下一步自定义分裂图像。 可选: 向窗体(或控件或其他任何东西)添加一个ImageList,并将SplitButton的ImageList属性设置为这个ImageList。 为SplitButton splitter侧状态的ImageList添加您想要的图像:正常、悬停、单击、禁用、聚焦。 现在,看看SplitButton的属性窗口,转到“SplitButton Images”类别,简单地从Images列表框(SplitButton的ImageList中)为每个状态选择一张图像。 现在,你可以设置一些建议的选项:TextAlign到MiddleLeft, ImageAlign到MiddleRight, TextImageRelation到TextBeforeImage。你就完成了。 现在你可以为SplitButton设置一些自定义选项,简单描述如下: 指示双击事件是否在SplitButton上引发。 指示SplitButton是否总是显示下拉菜单,即使按钮部分被单击。 指示分裂按钮是否总是显示悬停图像的分裂部分,即使按钮部分是悬浮的。 bool CalculateSplitRect——指示是否必须计算分割矩形(基于分割图像的大小)。 指示是否分割高度必须填充到按钮高度,即使分割图像的高度较低。 分割高度(如果CalculateSplitRect被设置为true,则忽略)。 split width(如果CalculateSplitRect被设置为true,则忽略)。 除此之外,还有两项活动: ButtonClick—当单击SplitButton的按钮部分时发生。 ButtonDoubleClick—当SplitButton的按钮部分被双击时发生。 结论 这只是一个简单的控制,我知道,但在我看来它可能是有用的。 我想就这些了。我希望你会觉得它有用,再见! 本文转载于:http://www.diyabc.com/frontweb/news512.html

posted @ 2020-08-07 09:30  Dincat  阅读(147)  评论(0编辑  收藏  举报