728x90
18.1 이전 버전이라면 아래와 같이 구현이 가능합니다.
DiagramHitInfo 클래스를 사용하여 최상위 레이어의 정보를 가져올 수 있습니다.
private void diagramControl1_MouseDown(object sender, MouseEventArgs e)
{
// 마우스 왼쪽 버튼을 눌렀을 때만 처리합니다.
if (e.Button != MouseButtons.Left)
return;
// 마우스 클릭 위치에 해당하는 Item을 찾습니다.
DiagramHitInfo hitInfo = diagramControl1.CalcHitInfo(e.Location);
// 최상위 레이어에 해당하는 Item을 찾습니다.
DiagramItem topMostItem = hitInfo.HitObject;
// 최상위 레이어에 Item이 있는 경우 처리합니다.
if (topMostItem != null)
{
// 최상위 레이어에 해당하는 Item의 정보를 가져옵니다.
// 예: Item의 위치, 크기, 색상 등
// 이 정보를 이용해서 필요한 작업을 수행합니다.
// ...
}
}
이후 버전부터는 HitInfo 클래스의 Item 속성을 사용하여 최상위 레이어의 Item을 가져올 수 있습니다.
private void diagramControl1_MouseDown(object sender, MouseEventArgs e)
{
// 마우스 왼쪽 버튼을 눌렀을 때만 처리합니다.
if (e.Button != MouseButtons.Left)
return;
// 마우스 클릭 위치에 해당하는 Item을 찾습니다.
DiagramHitInfo hitInfo = diagramControl1.CalcHitInfo(e.Location);
// 최상위 레이어에 해당하는 Item을 찾습니다.
DiagramItem topMostItem = hitInfo.Item;
// 최상위 레이어에 Item이 있는 경우 처리합니다.
if (topMostItem != null)
{
// 최상위 레이어에 해당하는 Item의 정보를 가져옵니다.
// 예: Item의 위치, 크기, 색상 등
// 이 정보를 이용해서 필요한 작업을 수행합니다.
// ...
}
}
HitInfo 클래스에는 다양한 정보를 얻을 수 있는 속성들이 있습니다. 예를 들어, Item 속성은 마우스 클릭 위치에 해당하는 최상위 레이어의 Item을 반환하고, DiagramShape 속성은 마우스 클릭 위치에 해당하는 Item이 DiagramShape일 경우 해당 Shape을 반환합니다. 이 외에도, Edge 속성을 사용하여 마우스 클릭 위치가 Edge 위에 있는지 여부를 확인할 수 있습니다.
728x90
'Programing > C#' 카테고리의 다른 글
Devexpress에서 backstageview의 배경색상을 변경하는법 (0) | 2024.11.20 |
---|---|
[C#] 글씨체가 한글 영문 크기가 다른 경우 (0) | 2023.02.10 |
When changing the height value of the design in visual studio, it is not the desired value. Why? (0) | 2023.02.07 |
devexpress 버튼 사이즈 조절 안되는 문제(?) (0) | 2023.01.20 |
visual studio 글자 간격이 이상해졌다. (2) | 2023.01.18 |
댓글