none
TextBoxに入力した後フォーカスを外したい RRS feed

  • 質問

  • VisualBasicに関して質問です。

    タブレット端末で使用するアプリケーションを作成中なのですが、現在以下のようにGotFocusイベントでタッチキーボードを呼び出すようにしています。

        Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
            CreateObject("shell.application").shellexecute("c:\Program Files\Common Files\microsoft shared\ink\TabTip.exe")
        End Sub
    文字を編集してEnterを押すか、タッチキーボードの閉じるボタンを押すとこのフォーカスを外すようにしたいのですが、その方法を教えていただけると助かります。

    現在困っていることとして、入力を終え閉じるボタンでタッチキーボードを消しても、他のコントロールを操作しOpenFileDialogを操作し終えた後、またタッチキーボードが立ち上がります。フォーカスが外れないからGotFocusイベントが何度も動くんだと、素人なりに理解しています。

    何か方法をご存知でしたらご教示ください。

    2018年10月8日 3:02

回答

  • 詳しいわけではないので、的外れかもしれませんが、
    下記のページを見るとEnterイベントで対応すれば解決するのではないでしょうか?
    https://qiita.com/takiru/items/7af73b975017c4276144

    現象だけみるとページにある通り
    アクティブ化された際に発生するGotForcusイベントで処理を実施しているのが原因と考えられます。
    • 回答としてマーク 6503 2018年10月9日 6:53
    2018年10月9日 5:59

すべての返信

  • どのような開発環境でしょうか? WPFでしょうか? Windowsフォームでしょうか? それとも他でしょうか?
    Windowsフォームだとすれば、GotFocusイベントは今は通常使いませんが、もしそれでも使われているとすれば何か理由があるのでしょうか?
    タブレット端末を対象としたアプリは私は作成経験がないのでおかしなことを言っているかもしれませんが、このままだとレスが付きそうな感じではないので、もう少し詳細に質問された方が良いと思い、書き込ませていただきました。

    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    2018年10月9日 5:55
    モデレータ
  • 詳しいわけではないので、的外れかもしれませんが、
    下記のページを見るとEnterイベントで対応すれば解決するのではないでしょうか?
    https://qiita.com/takiru/items/7af73b975017c4276144

    現象だけみるとページにある通り
    アクティブ化された際に発生するGotForcusイベントで処理を実施しているのが原因と考えられます。
    • 回答としてマーク 6503 2018年10月9日 6:53
    2018年10月9日 5:59
  • 詳しいわけではないので、的外れかもしれませんが、
    下記のページを見るとEnterイベントで対応すれば解決するのではないでしょうか?
    https://qiita.com/takiru/items/7af73b975017c4276144

    現象だけみるとページにある通り
    アクティブ化された際に発生するGotForcusイベントで処理を実施しているのが原因と考えられます。

    返信ありがとうございます。

    GotFocusは使わないほうが良いのですね。Enterに変えるだけで解決しました。大変助かりました。ありがとうございます。

    2018年10月9日 6:55
  • どのような開発環境でしょうか? WPFでしょうか? Windowsフォームでしょうか? それとも他でしょうか?
    Windowsフォームだとすれば、GotFocusイベントは今は通常使いませんが、もしそれでも使われているとすれば何か理由があるのでしょうか?
    タブレット端末を対象としたアプリは私は作成経験がないのでおかしなことを言っているかもしれませんが、このままだとレスが付きそうな感じではないので、もう少し詳細に質問された方が良いと思い、書き込ませていただきました。

    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    返信ありがとうございます。

    情報が不足しており申し訳ありません。Windowsフォームです。ご指摘の通り、GotFocusが良くなかったようです。

    ありがとうございます。

    2018年10月9日 6:57