2013-08-22 1 views
0

코드로 ContextMenuStrip을 열고 자동으로 (권장) 항목을 설정하고 싶습니다. 만 Alt 키를 누르면팝업 Alt 키가있는 ContextMenu, 이름이 코드 인 항목 선택

Private Sub myfrm_KeyDown(ByVal sender As Object, _ 
          ByVal e As System.Windows.Forms.KeyEventArgs) _ 
          Handles Me.KeyDown 

    If e.KeyCode = Keys.Escape Then Me.Close() 

    If e.Alt Then 
     e.Handled = True 
     Dim pLoc As Point = New Point(Me.Location.X + myDGV.Location.X + 100, _ 
             Me.Location.Y + myDGV.Location.Y + 100) 
     myContext.Show(pLoc) 
    End If 
End Sub 

1) 어떻게 감지하고 다른 키를
는 여기에 두 가지 문제있어?
2)이 컨텍스트 메뉴가 팝업 된 후 "ExitToolStripMenuItem"항목을 자동으로 선택 (실행하지 않고 선택 만하는 방법)?

ExitToolStripMenuItem.Select() 

StripMenu의 각 항목은 자신의 "독립"개체가 직접 액세스 할 수 있습니다

답변

1

두 번째 질문은 간단한 답을 가지고있다.

첫 번째 질문은 약간 번쩍 일 수 있습니다. Alt Key은 수정 자이며 다른 키와 함께 사용해야하며 의도 한대로 사용하지 않는 이유는 무엇입니까? 이벤트 (withouts hooks 또는 이와 비슷한 것)에 의존함으로써, 전역 (부울) 변수를 설정하고 KeyDownKeyUp 이벤트를 결합해야합니다 (그리고 모든 코드를 KeyUp 이벤트에 넣어야합니다). Alt 키를 누를 때마다이 정보가 저장됩니다 (이렇게 말하면,이 방식으로 사용될 것으로 기대됩니다 : 다른 키와 함께 누름). 따라서이 정보가 저장되는지 여부를 결정하는 것이 어려워 질 수 있습니다 순서에 따라 다른 키가 눌려 지거나 눌려지지 않습니다 (Alt 키가 다른 키보다 먼저 눌려 졌는지 여부). 이 모든 번거 로움을 피하고 Alt + 다른 키만 사용하는 것이 좋습니다.

+0

안녕하세요 varocarbas, 도움을 주셔서 감사합니다. 선택 작동 중! 당신의 다른 설명을 토대로 내가 무엇을 할 것인가를 고려해야 만합니다. 고마워. –

+0

@ user973238 환영합니다. – varocarbas

관련 문제