갑자기 내 할 일 물어봐서 미안한데 도와줄 수 있는 사람이 있을까?

이하 전자 Uctl과 후자 RUctl로 부름

사정상 컴포넌트를 못 써서 라운드 컨트롤을 만들어야해서 OnPaint를 Override해서 만들었고 이제 비슷한 화면들에 Label 뒤에 RUctl이 오고 그 뒤에 Button이 오는 경우가 엄청 자주 나오는데 편하게 공간 잡으려고 Uctl을 하나 만들고 그 위에 TableLayout-Panel-Label-RUctl-Button 을 배치하는 식으로 구성했음.

using문 적절히 사용했고 OnPaint에 Region까지 들어가면 너무 메모리 혹사인 것 같아서 Region은 바깥에 있는 Uctl에서 기울기 값이 바뀔 때만 조절해주고 패널은 전부 더블버퍼도 true로 바꿔줌.

이렇게 했는데도 해당 Uctl을 30개 이상 같은 화면에 박으니까 렉이 엄청난 거임..
그래서 ResizeBigin/End도 SuspendLayout / ResumeLayout 처리해주고
CreateParams Override해서 ExStyle |= 0x02000000도 하고 별지랄을 다 했는데도 렉이 걸리더라..

윈폼 고수 없냐.. 그냥 Uctl을 포기해야하나..? 아니면 빡세게 노오력해서 RUctl에 Label Button까지 Controls.Add로 처리해야하나? 아니면 내가 놓친 처리가 있는걸까?

스택오버플로에서 찾기도 빡세더라..

아직 주니어라 어렵다.

- dc official App