本文整理汇总了C#中System.Windows.Forms.VisualStyles.VisualStyleRenderer.GetMargins方法的典型用法代码示例。如果您正苦于以下问题:C# VisualStyleRenderer.GetMargins方法的具体用法?C# VisualStyleRenderer.GetMargins怎么用?C# VisualStyleRenderer.GetMargins使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.VisualStyles.VisualStyleRenderer
的用法示例。
在下文中一共展示了VisualStyleRenderer.GetMargins方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnRenderImageMargin
protected override void OnRenderImageMargin(ToolStripRenderEventArgs e)
{
if (e.ToolStrip.IsDropDown && IsSupported)
{
var renderer = new VisualStyleRenderer("menu", 13, 0);
var themeMargins = renderer.GetMargins(e.Graphics, MarginProperty.CaptionMargins);
themeMargins.Right+=2;
int num = e.ToolStrip.Width - e.ToolStrip.DisplayRectangle.Width - themeMargins.Left - themeMargins.Right - 1 - e.AffectedBounds.Width;
var bounds = e.AffectedBounds;
bounds.Y += 2;
bounds.Height -= 4;
int width = renderer.GetPartSize(e.Graphics, ThemeSizeType.True).Width;
if (e.ToolStrip.RightToLeft == RightToLeft.Yes)
{
bounds = new Rectangle(bounds.X - num, bounds.Y, width, bounds.Height);
bounds.X += width;
}
else
{
bounds = new Rectangle(bounds.Width + num - width, bounds.Y, width, bounds.Height);
}
renderer.DrawBackground(e.Graphics, bounds);
}
else
{
base.OnRenderImageMargin(e);
}
}