ToolStripMenuItem의 위치가 화면에 렌더링 될 때 부모의 좌표를 기준으로 왼쪽 위 좌표를 추출하려고합니다. Location 멤버가있는 Bounds 속성이 있지만 실제 위치와 관련하여 무의미한 (적어도 내 관점에서는) 정보를 반환합니다. (하여 skillz 페인트) 이미지에 부모가 양식되고 (내가 사용하고자하는 정확한 위치를 보여줍니다ToolStripMenuItem 부모를 기준으로 한 위치
private void newShapeOption_Click(object sender, EventArgs e)
{
ToolStripMenuItem item = sender as ToolStripMenuItem;
Point point = item.Bounds.Location; // returns {X = 0, Y = 2} every time for some reason
// the rest is unimportant
}
빨간 점 :
은 "클릭"이벤트 핸들러는 다음과 같이 보입니다 제어라는 이름의 "창 0"- 그것의 및 MDI 응용 프로그램) :
가 정말 ToolStrip에인가 나는 메뉴 항목 후 LABEL1 넣고 싶어? 툴 스트립을 Winform으로 드래그하면 자동으로 X = 0, Y = 2에 해당하는 폼 상단에 자동으로 고정됩니다. –
@RobertHarvey 상단에 도킹되어 있지만 ToolStripMenuItem (내가 생각하는 자식 컨트롤)입니다. Bound.Location은 분명히 부모와 같은 위치를 반환합니다. 이것은 유일한 자식이므로 결과적으로 첫 번째이기도합니다. 실제로 렌더링 된 그래픽 객체의 위치를 얻는 방법이 없다는 사실에 수치스러워한다. – Venom
실제 렌더링되는 그래픽 객체의 위치는 무엇입니까? 논리적으로 도킹 된 도구 상자 객체의 첫 번째 메뉴 항목은 도구 막대의 왼쪽 상단 구석에 있거나 몇 픽셀을 주거나 가져 가야합니다. –