private class MyRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
{
var btn = e.Item as ToolStripButton;
if (btn != null && btn.CheckOnClick && btn.Checked)
{
Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);
e.Graphics.FillRectangle(Brushes.Transparent, bounds);
}
base.OnRenderButtonBackground(e);
}
}
我想,當我將鼠標移動到按鈕上或點擊它,然後使fillrectangle。 但它從來沒有過線:爲什麼它永遠不會進入按鈕單擊並使FillRectangle?
if (btn != null && btn.CheckOnClick && btn.Checked)
我用了一個斷點,當我移動鼠標光標移到按鈕,它停在:
if (btn != null && btn.CheckOnClick && btn.Checked)
而且繼續永遠不會進入。 IF線有問題。
編輯:
這是我所看到的,當我把鼠標移動到按鈕上:
,我想,當我在按鈕上移動鼠標光標和/或點擊在它上面,它會保持透明,就像它處於原始狀態。這是原來的狀態時,運行了一個程序,鼠標光標IM是不在按鈕:
這是現在使用的代碼IM:
private class MyRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
{
var btn = e.Item as ToolStripButton;
if (btn != null || btn.CheckOnClick || btn.Checked)
{
Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);
e.Graphics.FillRectangle(Brushes.Transparent, bounds);
}
base.OnRenderButtonBackground(e);
}
}
這是越來越向線:
Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);
e.Graphics.FillRectangle(Brushes.Transparent, bounds);
但是按鈕周圍的顏色仍然是這個淡藍色,就像我上傳的第一張截圖一樣。 任何方式來改變它?
我想要做的就是像在Internet Explorer 11,當您在圖標上移動鼠標/在右上角圖片的圖標/圖像改變顏色,但它周圍有沒有矩形:
這是從Internet Explorer常規狀態下的截圖:
這是Internet Explorer時,鼠標光標在圖標/圖像之一:
我想你需要檢查你的規則,如果,你想檢查什麼?你需要什麼? – felipekm
你可以選擇和懸停在3個條件,以檢查哪些是意外錯誤.. – TaW