Windows Forms 도구를 만들고 여러 항목과 드롭 다운 메뉴가있는 메뉴 조각을 추가했습니다. 그것은 모두 잘 작동하고 드롭 다운 메뉴 항목 "파일"을 선택하면 올바르게 확장됩니다. 커서가 드롭 다운 메뉴 항목에 대한 도구 스트립 메뉴 항목 "파일"을 떠날 때 더 이상 흰색 텍스트를 읽을 수 있도록, 그것은 흰색에 자동으로 색상을 변경합니다 :도구 막대 메뉴 항목이 커서가 활성화 된 항목을 벗어날 때 색상이 변경됩니다.
Clicked menu strip with mouse cursor on dropdown items
나는 또한 이미 렌더러 정의되도록하기 전에 메뉴 스트립의 색깔 변화와 비슷한 문제가 있었다 :
class BlueRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
{
if (!e.Item.Selected)
{
base.OnRenderMenuItemBackground(e);
e.Item.BackColor = Color.MediumBlue;
}
else
{
Rectangle rc = new Rectangle(Point.Empty, e.Item.Size);
e.Graphics.FillRectangle(Brushes.Blue, rc);
e.Graphics.DrawRectangle(Pens.MediumBlue, 1, 0, rc.Width - 2, rc.Height - 1);
e.Item.BackColor = Color.MediumBlue;
base.OnRenderItemBackground(e);
e.Item.BackColor = Color.MediumBlue;
}
}
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
base.OnRenderItemText(e);
if (!e.Item.Selected)
{
e.Item.ForeColor = SystemColors.ControlLightLight;
}
else
{
e.Item.ForeColor = SystemColors.ControlLightLight;
}
}
}
내가 렌더러의 다른 재산이나 동작을 변경해야 할 생각을하지만 어느 것을 어떻게 바꾸는 지조차 모릅니다. 마우스 커서가이 요소를 떠날 때 itemcolor를 파란색/중간 파란색으로 유지하는 데 도움이됩니다.
건배
플로리안