화살표를 "애니메이트"해야합니다. 어떤 방향 으로든 (위, 아래, 왼쪽, 오른쪽, 대각선) 갈 수 있고 화살촉은 끝에 있습니다. 그것은 오린에서 끝까지 자라는 것처럼 보일 필요가 있습니다. 더 복잡한 작업을하려면 사용자 정의 컨트롤에 있어야하므로 양식의 컨트롤 컬렉션에 추가하고 제거하여 화면에서 삭제할 수 있으며 배경은 실제로 투명합니다 (color.transparent가 없음). 나는 이전 선을 "지우려면"배경을 칠할 수 없습니다. 나는 그것을 정적으로 가지고있다. (원점에서 끝으로 그려진다.) 그러나 나는 그것을 움직일 수 없다. 사용자 정의 컨트롤에 타이머를 추가하려고했지만 성장하는 동안 라인의 중간 끝을 계산하는 올바른 알고리즘을 얻지 못했습니다. 도움이 될 것입니다. 감사합니다.화살촉이있는 e.Graphics.DrawLine에 애니메이션을 적용하십시오.
0
A
답변
0
Windows 폼에서 애니메이션을 사용하는 경우 다른 스레드를 사용해야합니다. 배경 작업자를 찾으십시오. http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
0
다른 스레드가 필요하지 않습니다. Windows Forms 애니메이션을 성공적으로 구현했습니다.
내 디자인 :
- 정기적으로 콜백 함수 '애니메이션을() 호출 할 Windows.System.Forms.Timer 객체를 사용하면 애니메이션() 함수는 화살표의 속성을 업데이트 , 그리고 윈도우 컨트롤에서 Invalidate()를 호출합니다.
- 이 모든 것이 동일한 UI 스레드에서 발생하기 때문에 컨트롤에 더블 더플 링이 켜져있는 한 깜박임 효과가 발생하지 않습니다.
관련 문제
- 1. 항목의 배경색에 애니메이션을 적용하십시오 (디스플레이 블록)
- 2. 프레임 안의 사진 (또는 div)에 애니메이션을 적용하십시오.
- 3. ID를 GridView에 적용하십시오.
- 4. 자바 스크립트에 권한을 적용하십시오.
- 5. 내부 그림자를 UILabel에 적용하십시오.
- 6. 크롬을 Qt의 탭처럼 적용하십시오.
- 7. Silverlight : TransitioningContentControl을 사용하여 읽기 전용 모드에서 편집 모드로 그리드 애니메이션을 적용하십시오.
- 8. 기존 데이터베이스를 장고 앱에 적용하십시오.
- 9. AuthorizeAttribute를 컨트롤러 클래스에 동시에 적용하십시오.
- 10. 이불을 사용하여 패치 목록을 적용하십시오.
- 11. viewDid 탭바드 기반 앱에 적용하십시오.
- 12. CSS를 사용하여 이미지 마스크를 적용하십시오.
- 13. 선택적으로 CSS를 gridview의 행에 적용하십시오.
- 14. Visual Studio를 사용하여 참조를 절대적으로 적용하십시오.
- 15. 리플렉션을 통해 C# DLL을로드하지만 App.config를 적용하십시오.
- 16. JQuery에서 동적으로 유효성 검사 규칙을 적용하십시오.
- 17. Wordpress - 가장 최근의 게시물을 먼저 적용하십시오.
- 18. XML과 XSD를 병합 한 다음 XSL을 적용하십시오.
- 19. TDD를 ASP.Net 웹 양식에 다시 적용하십시오.
- 20. Vim에 열린 모든 파일에 옵션을 적용하십시오.
- 21. 부스트 UBLAS blas-1을 행렬에 적용하십시오.
- 22. Groovy 유형의 공용 멤버에 유형 지정을 적용하십시오.
- 23. 힘내 : 지점에 파일의 이전 버전을 적용하십시오.
- 24. UILabel 내에서 텍스트 서식을 다르게 적용하십시오.
- 25. Kohana : Mixu의 Auth Useradmin 템플릿을 적용하십시오.
- 26. contentEditable 커서 위치/스타일을 FireFox에 적용하십시오.
- 27. Drupal : 규칙을 사용하여 노드에 경로 설정을 적용하십시오.
- 28. 플래시 무비 클립에 투명 원을 적용하십시오.
- 29. Linq2Sql 엔터티 위에 도메인 모델을 적용하십시오.
- 30. 주 서비스로 가기 전에 패치를 적용하십시오.
배경 작업자를 사용하고 싶지 않은 경우 그림 상자를 사용하고 이미지를 바꿀 수 있다고 생각합니다. 나는 개인적으로 배경 작업자를 사용할 것입니다. – Icono123
내 문제는 그것이 생기지 않도록 선을 "움직이는"방법이었습니다. 내 말은, 내가 별도의 스레드에서 그것을 할 계획이지만, 나는 라인이 성장하는 것처럼 보이게하는 방법을 찾을 수 없습니다. 나는 지금 길을 발견했다. 그것은 포인트별로 그림을 그린다. 덕분에 – Fer
별도의 스레드를 사용할 필요가 없습니다. 멀티 스레딩 코드는 복잡하고 필연적이지 않습니다. 제 답변을 참조하십시오. – GarethOwen