RedSeoyeon 님, 안녕하세요.
그레이프시티입니다.
변경할 도형의 Name 속성값을 알고 있다면, GetShape 메소드를 사용하여 사각형을 가져온 후 BackColor 속성, Visible 속성, Left 속성을 사용하여 설정을 변경하실 수 있습니다.
1. 조건에 따른 사각형 BackColor 변경 가능 여부
GetShape 메소드를 사용하여 사각형을 가져온 후 BackColor 속성값을 변경하실 수 있습니다.
fpSpread1.ActiveSheet.GetShape("rectangle1").BackColor = Color.Red;
일례로, 샘플 코드에서는 활성화된 사각형의 BackColor를 Red로 변경하고, 사각형이 비활성화 되면 다시 배경색을 White로 변경하고 있습니다.
string activedShape = null;
private void FpSpread1_ShapeActivated(object sender, EventArgs e)
{
activedShape = fpSpread1.ActiveWindowlessObject.Name;
fpSpread1.ActiveSheet.GetShape(activedShape).BackColor = Color.Red;
}
private void FpSpread1_ShapeDeactivated(object sender, EventArgs e)
{
fpSpread1.ActiveSheet.GetShape(activedShape).BackColor = Color.White;
activedShape = null;
}
2. 특정 조건일 때에만 사각형이 셀 위에 보여지는 방법
모든 도형에 대한 Visible 속성 값을 false로 설정한 후, 특정 조건을 만족했을 때에만 해당 도형의 visible 속성값을 true로 변경하여 다시 보여지게 설정할 수 있습니다.
fpSpread1.ActiveSheet.GetShape("rectangle1").Visible = false;
3. 도형의 X축 위치를 코딩으로 변경 가능 여부
PSObject.Left 속성을 사용하여 객체의 x좌표 값을 설정하거나 가져올 수 있습니다.
y좌표값 변경을 원하실 때에는 PSObject.Top 속성을 사용하실 수 있습니다.
fpSpread1.ActiveSheet.GetShape("rectangle1").Left = 5;
참고로, getCellRectangle 메소드는, 셀의 사각형을 가져오는 메소드입니다.
특정 셀의 X,Y 좌표나 너비, 높이 등을 가져올 때 활용하실 수 있습니다.
위와 같이 설정하고 싶으신 "특정 조건"에 대하여 구체적으로 설명해주시면, 원하시는 기능이 구현 가능한지 확인 후 안내드릴 수 있도록 하겠습니다.
추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.
감사합니다.
그레이프시티 드림