|
Hongliangさん、キムさん、shuさん
回答有難うございました。
パネルでは問題ありと言われたため、パネル上のコントロールを検索して、
処理を行うことにしました。
また、テキストボックス等は読み取り専用ですることとの事でしたので、
キャストして、読み取り専用にしました。
次回もよろしくお願いします。
Private Sub Control_Reference()
'全てのコントロールをハッシュテーブルに入れる。
Dim MyControls As Hashtable = CreateControlCollection(Me)
Dim oControl As Control
Try
'ハッシュテーブルの値をコントロールに変換する
For Each oControl In MyControls.Values
'下記コントールを探す。
If oControl.GetType Is GetType(独自コントロール名) Or oControl.GetType Is GetType(独自コントロール名) Or oControl.GetType Is GetType(独自コントロール名) Or oControl.GetType Is GetType(独自コントロール名) _
Or oControl.GetType Is GetType(CheckBox) Or oControl.GetType Is GetType(Button) Or oControl.GetType Is GetType(RadioButton) Then
'テキストボックスか否か
If TryCast(oControl, 独自コントロール名) IsNot Nothing Then
DirectCast(oControl, 独自コントロール名).ReadOnly = True
ElseIf TryCast(oControl, 独自コントロール名) IsNot Nothing Then
DirectCast(oControl, 独自コントロール名).ReadOnly = True
ElseIf TryCast(oControl, 独自コントロール名) IsNot Nothing Then
DirectCast(oControl, 独自コントロール名).ReadOnly = True
ElseIf TryCast(oControl, 独自コントロール名) IsNot Nothing Then
DirectCast(oControl, 独自コントロール名).ReadOnly = True
'ラジオボタンかチェックボックスか否か
ElseIf TryCast(oControl, RadioButton) IsNot Nothing Or TryCast(oControl, CheckBox) IsNot Nothing Then
If TryCast(oControl, RadioButton) IsNot Nothing Then
DirectCast(oControl, RadioButton).AutoCheck = False
Else
DirectCast(oControl, CheckBox).AutoCheck = False
End If
ElseIf TryCast(oControl, Button) IsNot Nothing Then
DirectCast(oControl, Button).Enabled = False
ElseIf TryCast(oControl, DataGridViewPlus) IsNot Nothing Then
DirectCast(oControl, DataGridViewPlus).ReadOnly = False
Else
oControl.Enabled = False
End If
End If
Next
'ボタンは全て非活性にしているので、しないものは解除する
btn_Tbpage1.Enabled = True
btn_Tbpage2.Enabled = True
btn_Tbpage3.Enabled = True
btn_Tbpage4.Enabled = True
btn_Tbpage5.Enabled = True
btn_Tbpage6.Enabled = True
btn_Tbpage7.Enabled = True
btn_close.Enabled = True
btn_His.Enabled = True
Catch ex As Exception
''--------------------
'' エラーハンドリング
''--------------------
Call gsub_ErrorHandring(ex)
End Try
End Sub
※独自コントロール名は伏せさせていただきました。
|