投稿者 よねKEN  () 投稿日時 2008/8/24 23:01:00
うまくいったとのことなので、Formの上に直接、RadioButtonを複数配置されているのでしょうか。  
 
Formの上にPanelやGroupBoxなどを配置し、  
その中にRadioButtonを配置しているような場合だとこのやり方ではうまくいかないと思います。  
 
例えば、以下のようなメソッドをFormのメソッドとして定義しておきます。  
 
Public Sub DisableRadioButton(ByVal parent As Control)  
    For Each ctrl As Control In Me.Controls  
        If TypeOf ctrl Is RadioButton Then  
            ctrl.Enabled = False  
        End If 
        If ctrl.Controls.Count > 0 Then 
            DisableRadioButton(ctrl)  
        End If 
    Next  
End Sub  
 
その上で、以下のように呼び出せば、そのForm上のすべてのRadioButtonが使用不可になります。  
DisableRadioButton(Me)  
 
Me.Controlsには、そのフォームの上に直接配置されたオブジェクトだけが格納されていますので、再帰的に処理をしないと処理もれが発生することがあります。