어떻게 대화 상자 외부 자체를 자르지 않고 마우스 포인트에 대화 상자를 표시 할 수 있습니다?표시 대화 상자 형태로 외부 자르지 않고
예를 들어, 화면의 오른쪽 가장자리 근처에있는 컨트롤을 클릭하면 대화 상자가 왼쪽에 나타나고 컨트롤이 화면 아래에 있으면 커서의 대화 상자가 표시됩니다 . 이것은 항상 대화 상자 창 밖에 클리핑 경우에도 커서의 오른쪽 아래에있는 대화 상자가 표시됩니다
If e.Button = MouseButtons.Right Then
Dim tool = New Form2 With {
.Location = New Point(Cursor.Position.X, Cursor.Position.Y),
.WhoSend = sender 'some property
}
tool.ShowDialog()
End If
:
이 내 코드입니다.
사진은 여기에 도움이 될 것이다. 실제 –
대 예상이의 ContextMenu/지구가하는 일의 종류이다. 필요한 경우 메뉴가 화면에 완전히 유지되도록 코드가 이동되도록하는 코드가 있습니다. 또한 마우스 오른쪽 버튼으로 사용할 클래스의 종류. 양식에 해당 코드가 없으면 직접 추가해야합니다. 폼이 재조정 될 때 여전히 올바르게 작동하도록 Load 이벤트를 구독하여 그렇게하십시오. Screen 클래스는 경계를 제공합니다. –
@HansPassant 나는'ContextMenuStrip'을 시도했다. ContextMenuStrip 안에있는 아이템을 클릭 한 후 컨트롤을 어떻게 얻을 수 있습니까? – conquistador