답변
"시스템"렌더러의 버그입니다 (세부 사항은 this bug report입니다).
1), ToolStripSystemRenderer
의 서브 클래스를 작성 OnRenderToolStripBorder
을 무시하고 그것을 어떤 조합 만들기 없습니다 :
public class MySR : ToolStripSystemRenderer
{
public MySR() { }
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
//base.OnRenderToolStripBorder(e);
}
}
2) ToolStrip에 대한 그 렌더러를 사용을
는 마이크로 소프트의 반응은 아주 쉬운 해결 방법을 제공합니다 :
toolStrip3.Renderer = new MySR();
+1,하지만 실제로 대답을 수정했습니다. * 답변을 가리키기보다는 답변을 포함시킵니다. StackOverflow가 독립적이어야하며 외부 링크가 손상 될 수 있습니다. 그들은 훌륭한 부속물을 만들지 만, 주요 내용은 SO 그 자체에 있어야합니다. –
왜 응용 프로그램이 종료됩니까? – RickInWestPalmBeach
테두리가 누락되지 않도록하려면 유형 체크를 추가 할 수 있습니다. ToolStripDropDownMenu
/etc. (ToolStrip
에서 상속하기 때문에, 자동으로 같은 사용자 정의 렌더러 사용을 시작) : ToolStripSystemRenderer
를 사용하지만 ToolStripProfessionalRenderer
과 실제 눈에 거슬리는 될 때
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
if (e.ToolStrip.GetType() == typeof(ToolStrip))
{
// skip render border
}
else
{
// do render border
base.OnRenderToolStripBorder(e);
}
}
부재 ToolStripDropDownMenu
국경이 너무 눈에 띄는되지 않습니다.
또한 을 설정하면 모든 ToolStrip
인스턴스를 기본값으로 MySR
을 사용하도록 설정할 수 있습니다.
배경을 어떻게 얻었습니까? 그것은 표준이 아닙니다. –