No.3ベストアンサー
- 回答日時:
2002 でしたか。
TryCast は 2005 からなのでエラーになりますね。DirectCast は使えましたよね…実はあまり知らないんですが。DirectCast を使うなら以下。Private Function CountChecked(ByVal targetGroupBox As GroupBox) As Integer
Dim cnt As Integer = 0
For Each ctl As Control In targetGroupBox.Controls
If TypeOf ctl Is CheckBox Then
Dim cb As CheckBox = DirectCast(ctl, CheckBox)
If cb.Checked Then
cnt += 1
End If
End If
Next
Return cnt
End Function
DirectCast が使えないようなら、DirectCast を CType に変えてみてください。
いけました!
なぜPrivate Function なんだ?ってところからでしたが
大体理解できました、なんとかV.Bの入口が見えてきた気がします。
ありがとうございました。
No.2
- 回答日時:
VB のバージョンは? 2005 以降だと思って回答しておきます。
こんなメソッドを作ればよいでしょうか。
Private Function CountChecked(ByVal targetGroupBox As GroupBox) As Integer
Dim cnt As Integer = 0
For Each ctl As Control In targetGroupBox.Controls
Dim cb As CheckBox = TryCast(ctl, CheckBox)
If cb IsNot Nothing
cnt += 1
End If
Next
Return cnt
End Function
.Net 2002を使用しているためか、
とりあえずエラーがでてしまいます。
勉強でやっているので参考にさせていただいて後はなんとかやってみます
ありがとうございました。
No.1
- 回答日時:
これをうまくアレンジしてやってみてください。
フォーム名とコントロール名を元にオブジェクトを取得します。
''' <summary>
''' フォームに配置されているコントロールを名前で探す
''' (フォームクラスのフィールドをフィールド名で探す)
''' </summary>
''' <param name="frm">コントロールを探すフォーム</param>
''' <param name="name">コントロール(フィールド)の名前</param>
''' <returns>見つかった時は、コントロールのオブジェクト。
''' 見つからなかった時は、null(VB.NETではNothing)。</returns>
Public Function FindControlByFieldName( _
ByVal frm As Form, ByVal name As String) As Object
'まずプロパティ名を探し、見つからなければフィールド名を探す
Dim t As System.Type = frm.GetType()
Dim pi As System.Reflection.PropertyInfo = _
t.GetProperty(name, _
System.Reflection.BindingFlags.Public Or _
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.Instance Or _
System.Reflection.BindingFlags.DeclaredOnly)
If Not pi Is Nothing Then
Return pi.GetValue(frm, Nothing)
End If
Dim fi As System.Reflection.FieldInfo = _
t.GetField(name, _
System.Reflection.BindingFlags.Public Or _
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.Instance Or _
System.Reflection.BindingFlags.DeclaredOnly)
If fi Is Nothing Then
Return Nothing
End If
Return fi.GetValue(frm)
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- 数学 x^p-1=(x-1)(x-ζ)(x-ζ^2)・・・(x-ζ^p-1)と複素数の中で因数分解できる理 1 2022/11/23 14:59
- その他(教育・科学・学問) 関数、写像について 1 2022/04/10 23:45
- 数学 複素数の答えはいくつになりますか? 3 2022/12/20 12:55
- 数学 数学の複素数の証明問題です。 (1)複素数全体の集合に2要素間の実数と同様な大小を定義できないことを 2 2022/08/28 11:17
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
C#で角が丸いテキストボックス
-
ExcelVBAでListViewが使用できない
-
コンボボックスの文字によるif...
-
コントロールを移動できない
-
ビープ音鳴らし続けたい。
-
変数をコントロール型で使用す...
-
もしフォームヘッダーにコント...
-
excelのリストボックスで選択し...
-
ExcelVBAのコントロールの種類...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
chr関数の呼び出しで「プロ...
-
VB6でのバーコード印字について
-
NumericUpDownコントロールに数...
-
Excel VBA で Richtextboxを使...
-
Labelコントロールの(左右)余...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
vb.netで画面のコントロールId...
-
C#,vb.netで業務用アプリ開発と...
-
EXCELでactivexコントロールを...
-
フォーム上の現在アクティブな...
-
ExcelVBAでListViewが使用できない
-
コンボボックスの文字によるif...
-
C#で角が丸いテキストボックス
-
エクセルVBAでオプションボタン...
-
ユーザーフォームで動的(Me.Con...
-
VBAのフォームでTextBoxがいっ...
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
excelのリストボックスで選択し...
-
Excel VBA で Richtextboxを使...
おすすめ情報