フォームのフォーカス移動
- 題名: フォームのフォーカス移動
- 著者: mezashi
- 日時: 2007/12/12 18:12:06
- ID: 21117
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: フォームのフォーカス移動
- 著者: まどか
- 日時: 2007/12/12 20:47:42
- ID: 21119
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: フォームのフォーカス移動
- 著者: mezashi
- 日時: 2007/12/13 17:12:57
- ID: 21141
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: フォームのフォーカス移動
- 著者: まどか
- 日時: 2007/12/13 17:59:04
- ID: 21142
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: フォームのフォーカス移動
- 著者: mezashi
- 日時: 2007/12/14 10:14:27
- ID: 21147
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: フォームのフォーカス移動
- 著者: まどか
- 日時: 2007/12/14 13:20:11
- ID: 21149
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
現在メインメニューのフォームを表示してKeyUpから
他のフォームを開くという動作をしています。
簡単にコードを書くと
Private Sub FrmMain_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyClass.KeyUp
Select Case e.KeyCode
Case Keys.NumPad1, Keys.D1
Button1_Click(sender, e)
Case Keys.NumPad2, Keys.D2
Button2_Day_Click(sender, e)
Case Keys.NumPad3, Keys.D3
Button3_Click(sender, e)
End Select
End Sub
'メインロード
Private Sub FrmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'自分自身のフォームを最大化
Me.WindowState = FormWindowState.Maximized
'フォームのKeyPreviewを切り替える
Me.KeyPreview = True
’他フォームを開くが隠す
FrmCostProcess.Show()
FrmCostProcess.Visible = False
End Sub
’他フォーム表示
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
FrmCostProcess.Visible = True '表示
End Sub
これで他フォームを表示させてその表示させたフォームをまた閉じる(非表示)
’他フォームの終了
Private Sub TSBt_Back_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBt_Back.Click
Me.Visible = False '非表示
FrmMain.Focus()
End Sub
したときにメインフォームにフォーカスを返すのですが、
メインフォームでキーの下やENTERを押すと
フォームバーを右クリックしたやつが出てきます(ウィンドウを操作するやつ)
他のキー操作をしたときはKeyUp処理してくれますがキーの下やENTERだけ
KeyUpに入らずそのようになってしまいます。
やりたいことは
・メイン表示
↓
・キーで他フォームを表示
↓
・キーで開いた他フォームを非表示
↓
・メインにフォーカスを戻してキー操作
どなたかご教授いただけないでしょうか?よろしくお願いします。
長文失礼しました。