#643 オプションボタンの描画の問題の対処法 フォーム、VBA

オプションボタンコントロールをクリックしてその選択を切り替えたとき、次のようなおかしな動きをすることがあります。
  • オプションボタンに関連付けられたラベルコントロールの標題が太字(ややにじんだ感じ)になる

  • オプショングループ内の別のオプションボタンを選択したにも関わらず黒丸の表示が切り替わらない

    正しい表示:

    おかしな表示:

この問題はAccessのバージョンやOSとの兼ね合いなどの発生条件は不明ですが、いくつか試した範囲では次のような現象のようです。
  • 「垂直アンカー」プロパティが「下」に設定されている

  • フォームの下の方にコントロールが配置されている

  • 他のコントロールを選択したり画面をスクロールしたり、あるいはいったん他のアプリケーションのウィンドウを選択するなど、何らかの再描画が行われるタイミングで正しい表示になる

  • Accessあるいはそのフォームのディスプレイ上の位置やウィンドウサイズによって症状が変わる

全体的には、ディスプレイ等との関係で正しく描画が行われていないことが要因のように思われます(もしかしたら特定の限られた環境のみかもしれません)。


そこで、もしこのような症状が出た場合には、オプショングループの更新後処理イベントプロシージャに次のような1行のコードを記述することで改善されるようです。ここではオプショングループ内の選択値が切り替わったタイミングでフォームの『Refresh』メソッドを実行して、強制的にフォーム全体を再描画させています。

Private Sub 登録状況_AfterUpdate()

  Me.Refresh

End Sub


実行例:

| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved