トップ回答者
menuStripの色をグラデーションにするやり方を教えてください

質問
回答
-
こんにちは、ファクトです。
MenuStripの描画は Rendererプロパティに設定したクラスが担当しているので、
そこを細工すればメニューをグラデーションさせる事ができます。
Rendererを自分で全て実装するのは手間なので、ToolStripProfessionalRenderer
クラスを利用すると良いでしょう。コンストラクタの引数でColorTableが指定できます。
ProfessionalColorTableのプロパティをいじると、色々な部分の色が変更できますよ。
Code Snippetprivate void Form1_Load(object sender, EventArgs e)
{
ProfessionalColorTable table = new ProfessionalColorTableEx();
menuStrip1.Renderer = new ToolStripProfessionalRenderer(table);}
private class ProfessionalColorTableEx : ProfessionalColorTable
{
public override Color MenuStripGradientBegin
{
get { return Color.Red; }
}public override Color MenuStripGradientEnd
{
get { return Color.Blue; }
}
}
すべての返信
-
こんにちは、ファクトです。
MenuStripの描画は Rendererプロパティに設定したクラスが担当しているので、
そこを細工すればメニューをグラデーションさせる事ができます。
Rendererを自分で全て実装するのは手間なので、ToolStripProfessionalRenderer
クラスを利用すると良いでしょう。コンストラクタの引数でColorTableが指定できます。
ProfessionalColorTableのプロパティをいじると、色々な部分の色が変更できますよ。
Code Snippetprivate void Form1_Load(object sender, EventArgs e)
{
ProfessionalColorTable table = new ProfessionalColorTableEx();
menuStrip1.Renderer = new ToolStripProfessionalRenderer(table);}
private class ProfessionalColorTableEx : ProfessionalColorTable
{
public override Color MenuStripGradientBegin
{
get { return Color.Red; }
}public override Color MenuStripGradientEnd
{
get { return Color.Blue; }
}
} -
こんにちは。中川俊輔 です。
wnkdr6572さん、ファクトさん、回答ありがとうございます。
なっぷさん、フォーラムのご利用ありがとうございます。
その後いかがでしょうか?
有用な情報と思われたため、
勝手ながらwnkdr6572さん、ファクトさんの回答へ回答済みチェックをつけさせていただきました。
追加の質問等ありましたら、是非投稿してください!
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。なっぷさんはチェックを解除することもできますので、ご確認ください。
それでは!