다른 컨트롤이있는 사용자 지정 컨트롤이 있습니다. 사용자가 클릭하면 재귀 적으로 모든 컨트롤을 거쳐 배경색이 파란색으로 바뀝니다. 그러나 컨트롤이 색을 개별적으로 변경하면 큰 깜박임 문제가 발생합니다. 이중 버퍼링을 사용하도록 설정했으나 내 그림이 최적화되어 있는지 의심 스럽습니다. 나는 이것이 이것이 그러한 효과를 내기위한 최선의 방법이 아닐지 모른다는 의혹을 가지고있다.배경을 변경할 때 사용자 지정 컨트롤이 깜박입니다.
이 깜박임을 제거하려면 어떻게해야합니까? 아니면 이것을하는 더 좋은 방법이 있습니까?
내 전화가 온 클릭 :
ControlUtils.SetColorRecursive(this, Color.LightSteelBlue);
SetColorRecursive : 다시 착색되는
tCtl.SuspendLayout();
if (tCtl != null)
{
// Set Color
tCtl.BackColor = tColor;
foreach (Control tSubCtl in tCtl.Controls)
{
// Ignore the following
if (tSubCtl is TextBox) continue;
if (tSubCtl is ListBox) continue;
if (tSubCtl is NumericUpDown) continue;
// Recursively change sub-controls
SetColorRecursive(tSubCtl, tColor);
}
}
tCtl.ResumeLayout();
인터넷 검색은 합성이라는 다른 유형의 이중 버퍼링을 언급하는 결과를 산출했습니다. 누구든지이 방법에 대해 알고 있습니까? – MarkP