オーバーライドを使用して背景を変更しようとしToolStripSplitButton
ていましたが、ボタンにカーソルを合わせるとドロップダウンの矢印が消えます。
コード:
protected override void OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs e)
{
if (!e.Item.Selected)
{
base.OnRenderSplitButtonBackground(e);
}
else
{
Rectangle button = new Rectangle(0, 0, e.Item.Size.Width - 12, e.Item.Size.Height - 1);
e.Graphics.FillRectangle(Brushes.White, button);
e.Graphics.DrawRectangle(Pens.Olive, button);
Rectangle dropdown = new Rectangle(e.ToolStrip.Items[0].Size.Width - 1, 0, e.Item.Size.Width - 32, e.Item.Size.Height - 1);
e.Graphics.FillRectangle(Brushes.White, dropdown);
e.Graphics.DrawRectangle(Pens.Olive, dropdown);
}
}
結果は次のようになります。
私はそれOnRenderArrow
が存在することを知っており、それをオーバーライドしようとしましたが、 のdropdown
Rectangleによって「上書き」されているようOnRenderSplitButtonBackground
です。
これを修正するにはどうすればよいですか? 前もって感謝します!