|
他の相談室に投稿したものですが解決しそうにないので、こちらに投稿していみました。
コマンドボタン(名前:cb種別)と、テキストボックス(名前:tx転送先)ひとつずつ作りました。そのコマンドボタンでは英数半角で1、3のいずれかの値を選択して入力し、1が選択された場合にはテキストボックスを使用可、ロックなし、3を選択の場合は使用不可、ロック有りにしたいです。そこで、コマンドボタンの「変更時」イベントを仮に選び、次のようなコードを書きました。
-------------------------------------
Private Sub Form_Open(Cancel As Integer)
Me!cb種別 = ""
End Sub
-------------------------------------
Private Sub cb種別_Change()
If Me!cb種別 = 1 Then
Me!tx転送先.Enabled = True
Me!tx転送先.Locked = False
Else
Me!tx転送先.Enabled = False
Me!tx転送先.Locked = True
End If
MsgBox Me!cb種別
MsgBox Me!tx転送先.Enabled
End Sub
-----------------------------------
しかし、実際にフォームを開き、コマンドボタンで3を選ぶと、テキストボックスにはカーソルは行きませんでした(True?)が、見た目使用可の白色(不可の場合は灰色)の状態です。
そこで、End If文の直下に上記MsgBox文を2つ入れて見ますと、
3とFalseがボックス表示されました。ということは実行直後はテキストボックスのプロパティは使用不可になっているのにもかかわらず、あたかも使用出来るかのような表示になっていて誤解しやすいです。
なぜでしょうか?プロパティ値と外見を一致させたいのですが、どうすればいいでしょうか?
|
|