2

ユーザーがフォーム自体をクリックできるようにする方法はありますか?そうすることで、現在フォームを持っているオブジェクト(テキストボックス、コンボボックスなど)からフォーカスを削除しますか?基本的に、フォーカスを一度にすべてから均一に取り除くことができますか?

フォーム自体にフォーカスを設定しても機能しません。

古い「プレースホルダーボタンを別のオブジェクトの後ろに隠す」トリックを実行することを考えましたが、私は実際にはそのファンではありません。

ありがとう!

4

4 に答える 4

2

VB6ではPictureBox、コントロールが含まれていない場合でも、フォーカスを取得できます。

あなたの場合PictureBoxTabStopfalseをBorderStyle設定し、0にTabIndex設定し、他のすべてのコントロールの後ろに0を設定しますが、フォーカス可能なコントロールは含まず、実行時にそれを拡張ScaleWidthします。ScaleHeight

ラベルとウィンドウのないコントロールもこの背景に配置する必要がありPictureBoxます。

このように、ユーザーが「フォーム上」をクリックすると、フォーカスが「消えます」。「フォーカスなし」Tabキーを使用すると、最初のコントロール(1にTabIndex設定されているコントロール)にフォーカスが移ります。

于 2011-02-23T14:39:52.797 に答える
1

フォームがアクティブな場合、一般的に何かに焦点を合わせる必要があります。特定のコントロールにフォーカスがあることを「表示」したくないようです。

その場合は、コントロールに依存します。特定のコントロールが何らかの方法でフォーカスを「示す」かどうかを制御するプロパティを持つものもあります。

ただし、組み込みのWindowsコントロールは、サブクラス化しない限り、常にフォーカス状態を表示します。

この問題を考えると。おそらくフォームにボタンを配置し、フォームが読み込まれたときにそれを画面外に移動します。タブストップではないことを確認してください。ただし、フォーカスを非表示にする場合は、特にボタンにフォーカスを設定し、タブストップではない場合でも、ボタンがタブオーダーのままであることを確認してください。これにより、ユーザーはタブを押しながらタブを押すことができます。ボタンの上にあり、論理的な場所に行き着きます。

于 2011-02-22T22:44:20.390 に答える
0

VBは手元にありませんが、TabStopを削除するだけでいいですか?

for x = 1 to me.Controls.count
    me.Controls(x).TabStop = 0
next
于 2011-02-22T22:34:42.017 に答える
0

フォームにpictureboxとコントロールがあります。

Private Sub cmdButton_Click
   PictureBox.setFocus
   Exit sub
End sub

コントロールの外観は変更されません。また、も変更されませんpicturebox

もちろんIf-Then、コントロールが時々正常に応答するようにしたい場合は、句を追加する必要があります。

于 2020-11-15T04:16:52.233 に答える