2012-11-05 4 views
4

Google에서 검색하는 방법을 잘 모르겠지만 여기에서 질문하는 중입니다. 전화하는 방법을 모르겠습니다.PictureBox 크기 좌표 관계

기본적으로 요소의 왼쪽 위 모서리에있는 "제로 포인트"는 예제를위한 것입니다. 그래서 내 pictureBox에 대한 새로운 너비 및 높이 속성을 설정하면 잘 동작하지만 왼쪽 상단에 상대적입니다.

당신은 pictureBox를 가지고 있는데, 100x100이라고 가정하고 50x100으로 줄이기를 원한다. 그래서 당신은 그림 상자 아래에 "빈 공간"을 갖게 될 것이다. PictureBox는이 하나의 왼쪽 상단 영점에서 속성을 계산합니다.

내가 필요한 것은이 지점을 다른 구석으로 변경하는 것입니다.
그래서 나는 내 높이를 바꿀 때 내려 가지 않습니다. 도와주세요, 제발.

나는 정말로 당신이 나를 이해할 수 있기를 바랍니다.

와우, 조언 해 주셔서 감사합니다. 앵커 속성과 Top + = 50을 테스트했습니다. 지금, 내 문제를 해결하지 않습니다. 다른 방법으로 설명하려고 노력하겠습니다. 하단에는 잔디가 50px, 상단에는 하늘이 50px 이미지 (100px)가 있습니다. 그래서 당신은 높이가 100 인 그림 상자가 있습니다. pictureBox.height = 50; 하늘 만 볼 수 있습니다. 그러나 잔디 만 떠나야합니다. 여기에서 볼 수있는 주된 문제는 왼쪽 위 모서리의 영점이기 때문입니다.

Simple image splitted onto the two sides: earth and sky

Button1을 클릭 이벤트 : 여기

은 예입니다

private void button1_Click(object sender, EventArgs e) 
    { 
     pictureBox1.Height = 150; 
    } 

버튼 누른 후 얻을 것이다 결과 :

result of the button press

을 하지만 나는 니가 필요해. 그녀의 결과 :

enter image description here

나는 그것이 왼쪽 상단 모서리에서 높이 속성 수가 있기 때문에 발생 알고있는 것처럼. 왼쪽 하단으로 변경하면 필요한 방식으로 작동합니다. 이 속성 http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode(v=vs.71).aspx

유효한 값은 PictureBoxSizeMode 열거에서 가져옵니다 :

MSDN 참조 ... 나에게이 점을 변경하시기 바랍니다 도움이됩니다. 기본적으로 PictureBoxSizeMode.Normal 모드에서 이미지는 PictureBox의 왼쪽 위 모서리 에 배치되며 PictureBox에 비해 너무 큰 이미지 부분이 잘립니다. PictureBoxSizeMode.StretchImage 값을 사용하면 이미지가 PictureBox에 맞게 늘어납니다.

+0

당신은'Location' 속성에 대해 잘 알고 있습니까? http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.controls.picturebox.location%28v=vs.80%29.aspx – Frito

+0

참조를 위해 자신의 질문을 다음과 같이 수정할 수 있습니다. 실수를 고치십시오. ("편집"을 클릭하십시오.) - 나는 지금 당신을 위해 이것을했습니다. –

+0

찾고있는 단어는 "앵커"입니다. – Hardrada

답변

0

컨트롤 레이아웃을 자동으로 처리하는 컨테이너를 사용하지 않는 한 직접 이동해야합니다.난 당신이 같은 선으로 코드에서 컨트롤의 크기를 조정하는 가정

myPictureBox.Height = 50; 

또한 같은 양에 의해 아래로 컨트롤의 위치를 ​​이동해야합니다 :

myPictureBox.Top += 50; 

일반화, 뭔가 같은

void ResizeHeightFromBottom(this Control c, int newHeight) 
{ 
    var oldBottom = c.Bottom; 
    c.Height = newHeight; 
    c.Top = oldBottom - newHeight; 
} 

내가 폭과 두시의 크기를 조정 떠날 것이다 :이 크기 조정 높이 트릭을한다고 독자를위한 운동으로 다각적으로, 임의의 참조 점을 지정하는 것.