0

外観を変更するために取り組んでいる大規模な winform アプリケーションがあります。System.Windows.Forms.Toolbar を System.Windows.Forms.ToolStrip コントロールに置き換えています。カスタム レンダラーを使用して、ドロップダウンの矢印の色を変更します。デフォルトのレンダラーでは、ツールストリップでマウス ホバー効果が得られますが、カスタム レンダリングでは機能しないようです。これが私のコードです。

ツールストリップの初期化: 読みやすさのために不要なコードを削除しました

this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();

this.toolStrip1.ImageList = this.imageList1;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(55, 32);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripDropDownButton1
});
this.toolStrip1.Renderer = new  MyRenderer();

ツールストリップのドロップダウン ボタン:

 this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
 this.toolStripDropDownButton1.ImageIndex = 0;
 this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";

カスタムレンダラー

 public class MyRenderer : ToolStripRenderer
 {
    protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
    {
        e.ArrowColor = Color.White;
        base.OnRenderArrow(e);
    }
 }
4

1 に答える 1