1

使用したい場所ならどこでも長方形を描くことができることを知っています

using (Graphics G = myControl.CreateGraphics())
{
    G.DrawRectangle(new Pen(myColor),myControl.Bounds);
}

しかし、toolStripMenuItem でこれを行う方法を理解するのに苦労しているので、その周りに長方形を描くことができます。

どんな助けでも大歓迎です。ありがとう!

4

3 に答える 3

1

最も簡単な方法は、コントロールから継承してOnPaintメソッドをオーバーライドし、 のすべてのインスタンスを に変更するToolStripMenuItemことMyToolStripMenuItemです。

class MyToolStripMenuItem : ToolStripMenuItem
{
    protected override void OnPaint( PaintEventargs pe )
    {
        base.OnPaint( pe );

        pe.ClipRectangle.Inflate( -1, -1 );
        pe.Graphics.DrawRectangle( Pens.Black, pe.ClipRectangle );
    }
}

もう少し複雑ですが、長い目で見れば保守性が向上するのは、カスタムToolStripRendererを実装することです。これにより、全体の外観を変更できます。たとえば、VS2010 のように見せることができます。

ここに画像の説明を入力

( VBForumsからの画像)

于 2014-03-18T17:15:04.430 に答える