GDI +를 사용하여 양식에 이미지와 도형을 그리는 C# 응용 프로그램을 작성 중이지만 삭제 방법은 잘 모릅니다. 예를 들어 GDI +를 사용하여 그릴 그리드를 그리는 옵션이 있다고 가정 해 봅시다. 사용자가이 기능을 끄면 어떻게 할 지, 작업 캔버스의 다른 개체에는 영향을 미치지 않고 삭제할 수 있습니다. 가장 좋은 방법은 무엇입니까? 감사!GDI + 개체 삭제
1
A
답변
3
간단한 예로, 폼에 체크 박스를 드롭 :
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
checkBox1.CheckedChanged += new EventHandler(checkBox1_CheckedChanged);
}
private void checkBox1_CheckedChanged(object sender, EventArgs e) {
this.Invalidate();
}
protected override void OnPaint(PaintEventArgs e) {
if (checkBox1.Checked) {
e.Graphics.DrawArc(Pens.Black, this.ClientRectangle, 0, 360);
}
}
}
무효화()를 호출 원본 도면 소거 열쇠, 그것은 그려야하는 형태 강제. 기본 클래스에서 구현되는 기본 OnPaintBackground 메서드는 모든 것을 전장 회색으로 바꿉니다.
1
Windows는 비트 맵 출력을 저장하지 않습니다. 항목을 제거하려면 OnPaint()에서 조건부로 플래그를 그리십시오. 플래그를 false로 설정하고 문제의 컨트롤에서 Invalidate()를 호출하십시오.
1
다른 사용자가 말하길, 모든 도면 영역이 아닌 필요한 영역에서만 Invalidate(region)
을 사용하여 성능을 권장합니다.
관련 문제
- 1. CreatePopupMenu의 많은 GDI 개체
- 2. GDI +로 특정 개체 회전
- 3. 순환 참조가있는 개체 삭제
- 4. NSTableView의 배열에서 개체 삭제
- 5. 파이썬에서 전체 개체 삭제
- 6. 개인 소멸자가있는 개체 삭제
- 7. Structuremap DataContext 개체 삭제
- 8. 장고에서 개체 삭제
- 9. REST - 개체 모음 삭제
- 10. Q 개체 찾기 및 삭제
- 11. 핵심 데이터 : 여러 관리 개체 컨텍스트 병합 및 개체 삭제
- 12. 엔티티 프레임 워크 : 여러 개체 삭제 쿼리
- 13. Java : GUI 내에서 GUI 개체 삭제
- 14. 삭제 된 개체 내가 엔티티의 종류가 예외를
- 15. 코어 데이터에서 개체 삭제 - 응용 프로그램 충돌
- 16. 개체 배열의 키 삭제 및 길이 검사
- 17. 집계 및 값 개체 : 삭제 하시겠습니까?
- 18. 외래 키 제약 조건이있는 JPA로 개체 삭제
- 19. 엔터티 프레임 워크에서 개체 컨텍스트 삭제 4
- 20. GDI 및 GDI +에서 다각형 채우기 모드
- 21. C#/GDI +
- 22. # winforms GDI +
- 23. VB.NET 컨트롤 GDI 핸들 누출?
- 24. GDI + DashStyle이 .NET에서 OutOfMemoryException을 throw합니다.
- 25. Infralution VirtualTree가 GetRowData 이벤트 처리기에 아이콘이 설정된 경우 GDI + 개체 누설
- 26. GDI : 페이지의 동적 다중 그래픽?
- 27. GDI +는 GDI 위에있는 레이어일까요? 아니면 새로운 것입니까?
- 28. GDI/GDI +가 OpenGL 또는 DirectX없이 작동하는 방식
- 29. GDI +를 사용하는 레이어
- 30. 일반 GDI + 오류 :