- PR -

DirectCastのエラーについて

1
投稿者投稿内容
トッティ
ベテラン
会議室デビュー日: 2008/04/01
投稿数: 64
投稿日時: 2008-11-27 17:38
 いつも、参考にさせて頂いております。

初歩的な質問で申し訳ありません。
VB.NETにおきまして
RadioButtonをいろいろ変えて使いたい為

Dim Rad As RadioButton
Dim Cnt As Int16 = 1

Rad = DirectCast(Me.Panel1.Controls("radKBN" & Cnt.ToString), RadioButton)
Rad.Checked = True
のようなコードを書きましたが
実行しますと
「オブジェクト参照がオブジェクトインスタンスに設定されていません」
のエラーになってしまします。

Dim Rad As New RadioButton
としても同様なエラーが発生します。

対処方法をご存じの方、教えて頂けないでしょうか?

King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2008-11-27 17:49
Panel1 の中に
radKBN1 と言う名前のコントロールが
存在しないからエラーが出てると思います。

radKBN1 という名前の RadioButton を
Panel1 の中に配置すれば
エラーは出ないのでは無いでしょうか。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2008-11-27 17:54
引用:

トッティさんの書き込み (2008-11-27 17:38) より:
Rad = DirectCast(Me.Panel1.Controls("radKBN" & Cnt.ToString), RadioButton)
Rad.Checked = True
のようなコードを書きましたが
実行しますと
「オブジェクト参照がオブジェクトインスタンスに設定されていません」
のエラーになってしまします。



推測ですが、"radKBN1"という値がNameプロパティにセットされたRadioButtonが
Panel1上に配置されていないのではないでしょうか。

(1) Nameプロパティが"radKBN1"のRadioButtonの有無
(2) (1)のRadioButtonがあったとして、それがちゃんとPanel1上にあるかを確認してください。

引用:

Dim Rad As New RadioButton



変数Radには後で取得したRadioButtonを設定するつもりなのですから、
それは意味がないので不要です。
トッティ
ベテラン
会議室デビュー日: 2008/04/01
投稿数: 64
投稿日時: 2008-11-27 18:59
大変、失礼致しました。

もう1つGroupBoxがかぶっていました。

どうも、スイマセン。
1

スキルアップ/キャリアアップ(JOB@IT)