在 C# 对话框中,我想添加一个具有双重行为的按钮,即保存和另存为。当用户单击按钮的右上角时,应该会出现一个小的上下文菜单,指示“另存为”选项。
问问题
4884 次
2 回答
2
SplitButton
将是实现这一目标的最佳选择。您将在此处找到使用它的代码SplitButton
和示例。
于 2013-05-30T11:16:58.663 回答
1
您可以拥有自己的按钮类,派生自Button
,并带有几个可以简单地完成工作的覆盖。只需传入一个ContextMenuStrip
(splitMenuStrip
在我下面的代码中)。
我像这样设置图像(向下箭头):
{
this.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.Image = YourResources.split_button; // Your down-arrow image
this.TextImageRelation = System.Windows.Forms.TextImageRelation.TextBeforeImage;
}
protected override void OnClick(EventArgs e)
{
var clickPos = this.PointToClient(new System.Drawing.Point(MousePosition.X, MousePosition.Y));
// If click is over the right-hand portion of the button show the menu
if (clickPos.X > (Size.Width - Image.Width))
ShowMenuUnderControl()
else
base.OnClick(e);
}
// Raise the context menu
public void ShowMenuUnderControl()
{
splitMenuStrip.Show(this, new Point(0, this.Height), ToolStripDropDownDirection.BelowRight);
}
有关带有图标和右键单击以调用菜单的更全面的答案,请查看我对这个类似/相同问题的回答。
于 2015-01-15T11:45:58.020 回答