PictureBox와 Image가 PictureBox1.Image
속성에 있습니다.
이미지 주위에 테두리를 어떻게 배치합니까?PictureBox 컨트롤에 색 테두리를 만드는 방법은 무엇입니까?
답변
국경의 크기와 색상을 PictureBox
으로 설정할 수 없습니다.
그러나이를 달성하기 위해 약간의 트릭을 할 수 있습니다.
이미지를 BackgroundImage
속성으로 설정하십시오.
BackgroundImageLayout
을 Center
으로 설정하십시오.
테두리를 원하는 색으로 BackColor
속성을 변경하십시오.
PictureBox
의 크기를 다시 조정하면 이제는 테두리처럼 보이게됩니다.
Padding
속성을 사용하여 마지막 단계를 수행 할 수도 있습니다.
희망이 있습니다.
+1, 쉽고 효과적인 방법 –
이 방법은 복잡한 레이아웃에서 성공하지 못하게하는 몇 가지 단점을 가지고 있으며, 가장 효과적이었던'PictureBox'의'OnPaint()'메소드를 무시했습니다. – Lankymart
투명 이미지를 사용할 때도 이와 같은 문제가 발생합니다. –
당신은 여기에서 'DrawBorder'방법을 사용하여 사용자 정의 테두리를 칠하고 'System.Windows.Forms에 전달하는 System.Windows.Forms.ControlPaint
클래스를 사용, System.Windows.Forms.PictureBox
에서 상속과 PictureBox
클래스 OnPaint
메소드를 오버라이드하여 자신의 PictureBox를 만들 수 있습니다. PaintEventArgs '를'OnPaint '메소드에서 가져옵니다.
이와 비슷한 것;
using System.Windows.Forms;
using System.Drawing;
public class CustomPictureBox : PictureBox
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.Red, ButtonBorderStyle.Solid);
}
}
이것은 시작하기에 좋은 예일뿐입니다. 죄송합니다. 더 자세히 설명 할 수는 없습니다. 당신의 PictureBox 컨트롤의 Paint 이벤트 처리기에서이 전화
이 테두리 색상을 변경하려면 :
만약 당신이 꺼져 있다면 PictureBox 컨트롤의'Paint' 이벤트 핸들러에서 항상'ControlPaint.DrawBorder'를 호출 할 수 있습니다. – Lankymart
이것은 항상 내가 그 사용되었습니다
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, pictureBox1.ClientRectangle, Color.Red, ButtonBorderStyle.Solid);
}
동적으로 테두리 색상을 변경하려면, 예를 들어 mouseclick 이벤트에서 그림 상자의 Tag 속성을 사용하여 색을 저장하고 picturebox의 Click 이벤트를 조정하여 거기에서 검색합니다. 예를 들어 :
if (pictureBox1.Tag == null) { pictureBox1.Tag = Color.Red; } //Sets a default color
ControlPaint.DrawBorder(e.Graphics, pictureBox1.ClientRectangle, (Color)pictureBox1.Tag, ButtonBorderStyle.Solid);
PictureBox를 클릭 이벤트는, 다음과 같이 뭔가를 갈 것입니다 : 당신은 처음에 using System.Drawing;
을해야하고 마지막에 pictureBox1.Refresh()
를 호출하는 것을 잊지 마세요
private void pictureBox1_Click(object sender, EventArgs e)
{
if ((Color)pictureBox1.Tag == Color.Red) { pictureBox1.Tag = Color.Blue; }
else {pictureBox1.Tag = Color.Red; }
pictureBox1.Refresh();
}
. 즐겨!
- 1. Picturebox 컨트롤에 바이트 값 표시
- 2. 파인더처럼 아래쪽 테두리를 만드는 방법은 무엇입니까?
- 3. DecoratedTabPanel 테두리를 사라지게 만드는 방법은 무엇입니까?
- 4. Silverlight에서 동적 캔버스의 테두리를 만드는 방법은 무엇입니까?
- 5. 사용자 별 컨트롤에 xap을 만드는 방법은 무엇입니까?
- 6. 단일 컨트롤에 대한보기를 만드는 방법은 무엇입니까?
- 7. 데이터 그리드에 테두리를 추가하는 방법은 무엇입니까?
- 8. 테이블의 tbody/thead 섹션 주위에 테두리를 만드는 방법은 무엇입니까?
- 9. WPF에서 모서리가 둥근 대시 테두리를 만드는 방법은 무엇입니까?
- 10. Silverlight에서 테두리 요소에 점선 테두리를 만드는 방법은 무엇입니까?
- 11. 텍스트보다 길지 않은 텍스트 아래에 테두리를 만드는 방법은 무엇입니까?
- 12. UITableView에 테두리를 설정하는 방법은 무엇입니까?
- 13. Picturebox의 테두리를 제거하는 방법은 무엇입니까?
- 14. Silverlight에서 테두리가있는 표를 만드는 방법은 무엇입니까?
- 15. ASP.NET 차트 컨트롤에 사용되는 색 결정
- 16. 테두리 이미지를 만드는 방법은 무엇입니까?
- 17. 의 PictureBox 질문
- 18. Silverlight에서 HyperlinkButton을 클릭 할 때 푸른 색 테두리를 피하는 방법은 무엇입니까?
- 19. Android에서 양식의 각 컨트롤에 대한 특정 키를 만드는 방법은 무엇입니까?
- 20. 탭 컨트롤에 사용자 요소의 사본/링크를 만드는 방법은 무엇입니까?
- 21. Silverlight에서 클릭 한 버튼의 테두리를 제거하는 방법은 무엇입니까?
- 22. python : reportlab, 이미지에서 검은 색 테두리를 제거하는 방법
- 23. 사용자 정의 AlertDialog에서 테두리를 제거하는 방법은 무엇입니까?
- 24. 테두리를 확장하지 않고 div를 채우는 방법은 무엇입니까?
- 25. html의 테두리를 사용하지 않도록 설정하는 방법은 무엇입니까?
- 26. 개별 DataGridView 열에 테두리를 추가하는 방법은 무엇입니까?
- 27. 테두리를 둥근 모서리로 그리는 방법은 무엇입니까?
- 28. Android에서 이미지 주위에 테두리를 설정하는 방법은 무엇입니까?
- 29. WPF usercontrol에 창 테두리를 추가하는 방법은 무엇입니까?
- 30. Firefox의 그림자에서 이상한 테두리를 제거하는 방법은 무엇입니까?
명확히하십시오. – SLaks
당신이하고 싶은 것이 무엇인지 이해합니까? – jcolebrand