我在C#應用程序中有一個ToolStrip,我將背景顏色設置爲Transparent。這揭示了底層窗體的顏色,但不幸的是ToolStrip邊框仍然可見。C#ToolStrip是透明的,但邊框仍然可見?
我已經實現了一個自定義渲染器,並且重寫了DrawBoarder方法,以便不繪製任何東西,但似乎也適用於所有包含的按鈕(即下拉按鈕上的菜單也沒有邊框繪製)。
所以我卡住了。繪製透明整個ToolStrip的最好方法是什麼,但不要單獨使用按鈕?
我在C#應用程序中有一個ToolStrip,我將背景顏色設置爲Transparent。這揭示了底層窗體的顏色,但不幸的是ToolStrip邊框仍然可見。C#ToolStrip是透明的,但邊框仍然可見?
我已經實現了一個自定義渲染器,並且重寫了DrawBoarder方法,以便不繪製任何東西,但似乎也適用於所有包含的按鈕(即下拉按鈕上的菜單也沒有邊框繪製)。
所以我卡住了。繪製透明整個ToolStrip的最好方法是什麼,但不要單獨使用按鈕?
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
if(e.ToolStrip.GetType().Name != "MyCustomToolStrip")
{
base.OnRenderToolStripBorder(e);
}
}
由於您試圖隱藏工具條,但保留按鈕,我必須將其放在那裏。
你甚至需要工具條嗎?
如果您只是在應用程序中使用了按鈕而沒有看似不需要的工具條,那可能會更好。
我試着重寫OnRenderToolStripBorder方法,它似乎並不影響按鈕。你是否嘗試過這樣?
public class TestStripRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
}
}
如果將下拉按鈕添加到工具欄,下拉按鈕的菜單是否帶有或不帶有邊框?在我的系統中,此代碼刪除了工具條的邊框和下拉菜單的邊框 –
下拉菜單似乎在使用或不使用此自定義渲染器時呈現完全相同。 –
在我的特殊情況下,它更便宜地使用的工具條比什麼都重要。 –