4

MultiSelect プロパティが Extended に設定されたバインドされていないリストボックスがある Excel VBA でユーザーフォームを作成しました。そのリストボックスがリスト項目をクリックする以外の方法でフォーカスを受け取ると、そのリスト内のすべての項目が、点線のフォーカス四角形で囲まれて表示されます。

比較のために、MultiSelect を Single に設定した別のリストボックスの横にある現象を示すコードを次に示します。ユーザーフォームを作成し、2 つのリストボックスを配置し、フォームにコードを追加します。フォームを起動したら、リストボックス間をタブで移動して、説明した内容を確認してください。

Private Sub UserForm_Activate()
    ListBox1.MultiSelect = fmMultiSelectSingle
    ListBox2.MultiSelect = fmMultiSelectExtended

    Dim i As Integer
    For i = 1 To 15
        ListBox1.AddItem String(i, Chr(i + 64))
        ListBox2.AddItem String(i, Chr(i + 64))
    Next
End Sub

フォーカス四角形を削除したり、表示されないようにする方法はありますか?

ありがとう、

4

1 に答える 1

1

私はExcel2010であなたのコードを実験し、あなたの観察を確認しました。2つのリストボックスを作成し、提供されたコードを入力し、フォームを開始し、Tabキーを押してListBox2にフォーカスすると、すべての行の周りに点線が表示されます。

以前のように2つのリストボックスを作成する場合は、手動でListBox2 / Properties / Multiselect2-fmMultiSelectExtendedに設定し、実行してTabキーを押してListBox2に移動します。

私にとって、これはかなり安定しており、フォームは複数のウィンドウのアクティブ化の変更、前後のジャンプなどに耐えられるようになりました。

理由を聞かないで...

于 2012-11-29T13:39:47.590 に答える