ユーザーがフォーム自体をクリックできるようにする方法はありますか?そうすることで、現在フォームを持っているオブジェクト(テキストボックス、コンボボックスなど)からフォーカスを削除しますか?基本的に、フォーカスを一度にすべてから均一に取り除くことができますか?
フォーム自体にフォーカスを設定しても機能しません。
古い「プレースホルダーボタンを別のオブジェクトの後ろに隠す」トリックを実行することを考えましたが、私は実際にはそのファンではありません。
ありがとう!
ユーザーがフォーム自体をクリックできるようにする方法はありますか?そうすることで、現在フォームを持っているオブジェクト(テキストボックス、コンボボックスなど)からフォーカスを削除しますか?基本的に、フォーカスを一度にすべてから均一に取り除くことができますか?
フォーム自体にフォーカスを設定しても機能しません。
古い「プレースホルダーボタンを別のオブジェクトの後ろに隠す」トリックを実行することを考えましたが、私は実際にはそのファンではありません。
ありがとう!
VB6ではPictureBox、コントロールが含まれていない場合でも、フォーカスを取得できます。
あなたの場合PictureBox、TabStopfalseをBorderStyle設定し、0にTabIndex設定し、他のすべてのコントロールの後ろに0を設定しますが、フォーカス可能なコントロールは含まず、実行時にそれを拡張ScaleWidthします。ScaleHeight
ラベルとウィンドウのないコントロールもこの背景に配置する必要がありPictureBoxます。
このように、ユーザーが「フォーム上」をクリックすると、フォーカスが「消えます」。「フォーカスなし」Tabキーを使用すると、最初のコントロール(1にTabIndex設定されているコントロール)にフォーカスが移ります。
フォームがアクティブな場合、一般的に何かに焦点を合わせる必要があります。特定のコントロールにフォーカスがあることを「表示」したくないようです。
その場合は、コントロールに依存します。特定のコントロールが何らかの方法でフォーカスを「示す」かどうかを制御するプロパティを持つものもあります。
ただし、組み込みのWindowsコントロールは、サブクラス化しない限り、常にフォーカス状態を表示します。
この問題を考えると。おそらくフォームにボタンを配置し、フォームが読み込まれたときにそれを画面外に移動します。タブストップではないことを確認してください。ただし、フォーカスを非表示にする場合は、特にボタンにフォーカスを設定し、タブストップではない場合でも、ボタンがタブオーダーのままであることを確認してください。これにより、ユーザーはタブを押しながらタブを押すことができます。ボタンの上にあり、論理的な場所に行き着きます。
VBは手元にありませんが、TabStopを削除するだけでいいですか?
for x = 1 to me.Controls.count
me.Controls(x).TabStop = 0
next
フォームにpictureboxとコントロールがあります。
Private Sub cmdButton_Click
PictureBox.setFocus
Exit sub
End sub
コントロールの外観は変更されません。また、も変更されませんpicturebox。
もちろんIf-Then、コントロールが時々正常に応答するようにしたい場合は、句を追加する必要があります。