2013-05-09 10 views
4

4 월 12 일 이전에, 서브 클래 싱 된 패널을 시도한 후 2 ~ 3 번 질문 한 후 다른 포럼에서 요청한 후 내 응용 프로그램의 패널에서 깜박임 현상이 나타나지 않도록하고 싶습니다 ... . Is their a way to stop the picturebox from flickering when being resized?깜박임과 "CreateParams"

Protected Overrides ReadOnly Property CreateParams() As CreateParams 
     Get 
      Dim cp As CreateParams = MyBase.CreateParams 
      cp.ExStyle = cp.ExStyle Or &H2000000 
      Return cp 
     End Get 
End Property 'CreateParams 

지금 난 정말 코드의 라인, 나는 그 무엇을하는지 이해할 필요가 무엇을 알고 싶어 아무도 내가이 마지막 대답 기적으로 해결책을 발견 한 해결책 그러나 오늘이 없습니다 코드를 내 응용 프로그램에 연결하면

은 깜박 거리지 않는 좋은 방법입니까?

MSDN 말한다 :

는 "CreateParams을 속성을 무시하고 파생 된 컨트롤의 속성 조정하는 데 사용되어서는 안된다"

을하지만 그 이유는 정말 나가있는 유일한 방법입니다?,하지 내 패널이 깜박해서 내가 위에 올린 코드에 대해 더 알고 싶다면 모든 주문과 그 하위 메뉴 및 네거티브의 장점을 이해하고 싶습니다. 모든 것이 환영됩니다.

누군가 설명 할 수 있습니다. 그 코드에 대해 더 알고 싶습니까? 내 모든 응용 프로그램에서 "깜빡 솔루션"을 테스트 한

UPDATE: 

그래 자사의 깜박임 솔루션 ...하지만 부정적인 점 '내 프로그램의 원인을 가지고 주위 -200 % 속도가 더 느린 회전, 나는 때 의미 그 오버라이드 서브를 사용하면 프로그램은 awesomelly보다 느려지므로 x6 배 더 느려지므로 오버라이드 서브를 그대로 사용하는 것은 좋지 않습니다.

내 응용 프로그램을 ralentize하지 않고 깜박임을 피할 수 있는지 아는 사람이 있습니까?

+1

+1 나는 또한 이것이 (나는 비슷한 문제가 있음) 무엇을하는지 정말로 알고 싶습니다. 사이드 농담 : 그냥 물을 넣으시오. – Sayse

+0

@Sayse가 내 업데이트를 읽었으며, 모든 프로그램에서이 코드를 사용 해본 결과 부정적인 결과를 볼 수 있습니다 ... 답변이 필요합니다. 추신 : 내 영어 죄송합니다 – ElektroStudios

+0

아, 그게 부끄러운 줄 알아, 속도 감소는 나를 위해이 솔루션을하지 않는 옵션을 만든다 :(내 생각은 결코 구현하려고 시도했다 유령 윤곽선으로 크기를 조정하고 다음 크기를 조정 한 후 새로 크기가 조정 된 창을 표시 – Sayse

답변

1

컨트롤을 다시 그릴 때마다 배경을 다시 그려야합니다. 응용 프로그램이 수행 할 자원을 요청하지 않았을 수있는 작업. 당신이 사용하고있는 솔루션은 기본적으로 폼과 그것이 끌어내는 모든 것이 더블 버퍼링되기를 원하는 플래그임을 설정합니다. 이것으로 불필요한 자원을 소비 할 수 있습니다. 대신 이미지 크기와 관련된 각 개체에서 double buffered 속성을 true로 설정할 수 있습니다. 컴퓨터의 리소스가 제한되어 있으므로 최대한 많이 보존해야합니다. 이것이 Microsoft가 많은 매개 변수와 리소스 해제 절차를 미리 정의한 이유입니다.

편집 : PictureBox는 기본적으로 onpaint 이벤트를 처리하기 위해 이중 버퍼링됩니다. 당신은 여전히 ​​배경 개체에 더블 버퍼가 필요합니다.