首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ToolStripButton周围绘制边框

如何在ToolStripButton周围绘制边框
EN

Stack Overflow用户
提问于 2020-04-10 03:40:14
回答 1查看 821关注 0票数 0

我在ToolStrip中有一个ToolStripButton,我想在它周围画一个边框。这是我使用的代码:

代码语言:javascript
复制
    private void tsbtnSearch_Paint(object sender, PaintEventArgs e)
    {
        ToolStripButton btn = (ToolStripButton)sender;

        ControlPaint.DrawBorder(e.Graphics, btn.Bounds,
               Color.Red, 3, ButtonBorderStyle.Outset,
               Color.Red, 3, ButtonBorderStyle.Outset,
               Color.Red, 3, ButtonBorderStyle.Outset,
               Color.Red, 3, ButtonBorderStyle.Outset);

    }

边框的绘制如下图所示:

我需要做什么才能得到正确的坐标?

EN

回答 1

Stack Overflow用户

发布于 2020-04-10 03:51:55

你就快到了。您可以使用更简单的DrawBorder变体,并使用按钮宽度和高度手动定义边框的矩形:

代码语言:javascript
复制
       ToolStripButton btn = (ToolStripButton)sender;
                ControlPaint.DrawBorder(
                       e.Graphics, 
                       new Rectangle(0, 0, btn.Width, btn.Height),
// or as @LarsTech commented, this works fine too!
//  btn.ContentRectangle,
                       Color.Red,
                       ButtonBorderStyle.Solid);            

在这种情况下,边框的矩形不是按钮的边界(IMO,因为ToolStripButton不是平面按钮,而是一个复杂的对象ToolStripItem,它不仅仅具有按钮)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61128977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档