4

背景色を透明に設定した C# アプリケーションに ToolStrip があります。これにより、基になるフォームの色が明らかになりますが、残念ながら ToolStrip の境界線はまだ表示されています。

カスタム レンダラーを実装し、何も描画しないように DrawBoarder メソッドをオーバーライドしましたが、含まれているすべてのボタンにも適用されるようです (つまり、ドロップ ダウン ボタンのメニューも境界線なしで描画されます)。

だから私は立ち往生しています。ToolStrip 全体を透明に描画し、ボタンをそのままにしておく最良の方法は何ですか?

4

3 に答える 3

5

OnRenderToolStripBorderメソッドをオーバーライドしようとしましたが、ボタンにはまったく影響しないようです。このように試しましたか?

public class TestStripRenderer : ToolStripProfessionalRenderer
{   
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
    }
}
于 2011-03-09T13:03:57.917 に答える
2
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
    if( e.ToolStrip.GetType().Name != "MyCustomToolStrip" )
    {
        base.OnRenderToolStripBorder(e);
    }
}
于 2011-03-09T18:21:09.380 に答える
0

ツールストリップを非表示にしようとしていますが、ボタンはそのままにしておく必要があるため、これを公開する必要があります。

ツールストリップも必要ですか?

一見不要なツールストリップを使用せずに、アプリケーションでボタンのみを使用した方がよい場合があります。

于 2011-03-09T13:01:18.157 に答える