使用したい場所ならどこでも長方形を描くことができることを知っています
using (Graphics G = myControl.CreateGraphics())
{
G.DrawRectangle(new Pen(myColor),myControl.Bounds);
}
しかし、toolStripMenuItem でこれを行う方法を理解するのに苦労しているので、その周りに長方形を描くことができます。
どんな助けでも大歓迎です。ありがとう!
使用したい場所ならどこでも長方形を描くことができることを知っています
using (Graphics G = myControl.CreateGraphics())
{
G.DrawRectangle(new Pen(myColor),myControl.Bounds);
}
しかし、toolStripMenuItem でこれを行う方法を理解するのに苦労しているので、その周りに長方形を描くことができます。
どんな助けでも大歓迎です。ありがとう!
最も簡単な方法は、コントロールから継承して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からの画像)