728x90 Programming/WindowsForm3 Magnetic Window (sticky window) 전에도 글에서 언급 한적이 있습니다. 간단해 보이는 것은 머리에 이끼끼지 말라는 차원에서 알아보지 않고 무작정 만드는 편인데요 이번엔 메인 창에 자석처럼 자식 창이 붙는 기능을 만들어 봤습니다. 처음엔 확장성을 너무 생각해서 붙어야 할 창에 존을 9분등 해서 어느 위치에 창이 있는지 찾고 거기서 또 얼마나 가까운지 등을 계산 하는 방식으로 구현 하다가..... (한 나절 다 보냄) 'ㄱ' 자 모양으로 붙이거나 좀 더 복잡한 모양으로 붙일 때 오히려 알고리즘이 복잡해 져서 구현 난이도가 올라가게 되어 단순하게 붙어 있는 창들 중에 지금 움직이고 있는 창이 붙을 위치면 붙이는 방식으로 바꿔 구현 했네요 (그래도 반나절이 지났습니다. ^^;) 덤으로 화면 구성 저장 및 로드 기능도 구현 했습니다. (코.. 2021. 2. 17. C# WindowsForm 같은 Chart 같은 Area에 여러 Series를 다른 길이로 쓸 때 문제 해결 주식 차트인 candle type series 를 기본으로 하고 그위에 여러 지표를 표시 하기 위해 Series를 여러개 넣어 사용 하고 있었습니다. 그런데 candle type series는 Full range로 데이터를 입력 하고 다른 series는 필요 값만 Points.AddXY() 합수를 이용해 입력을 하게 되면 자꾸 ArixX의 Lable이 사라지게 됐습니다. 딱히 기능에 문제도 없고 X label을 다른 chart에서 표시도 해주고 해서 참고 개발을 하다가 이제 더 이상 눈감을 수 없는 지점이 와서 하루종일 여러 방법으로 해결하려 했는데 결국..... 해결 방법을 알게 됐습니다. 원인은 candle type series의 Xvalue를 넣 값과 이후 분석 기반으로 line type, .. 2021. 2. 17. 프로그래머가 만든 Thread에서 WindowsForm Control 접근시 문제 프로그래머가 생성한 Thread에서 WindowsForm의 control을 직접 접근 할시 오류가 발생 합니다. 이 해결 법은 아래와 같이 (TextBox를 예로 든 코드 입니다.) 하시면 됩니다. if (box.InvokeRequired) { box.Invoke(new MethodInvoker(() => { box.Text = message; box.Update(); })); } else { box.Text = message; box.Update(); } 여기서 코딩 하시다 보면 매번 코드를 반복하는 부분이 생기는데 이 경우 Extension Methods를 이용하면 편하게 사용 하실 수 있습니다. https://docs.microsoft.com/en-us/dotnet/csharp/programmi.. 2021. 2. 17. 이전 1 다음