- 題名: オプションボタンのコントロール配列を動的に指定したい。
- 日時: 2012/05/14 9:15:21
- ID: 30435
- この記事の返信元:
- (なし)
- この記事への返信:
- [30440] Re[1]: オプションボタンのコントロール配列を動的に指定したい。2012/05/14 10:08:10
- ツリーを表示
■No30435に返信(Techさんの記事) > VB6から.netに移行しています。 VB6 互換ライブラリに頼りすぎない方が良いですよ。 .NET には .NET の作り方というものがありますので。 > me.control("ボタン" & i & "(1)").checkedの用に control → Controls 、用→様 ですね。 > 変数iを使って、チェックされているか判断したいのですが。 これでどうでしょう。 RadioButtonArray はコントロールではないので、Me.Controls の代わりに CallByName 経由でアクセスしてみました。 '-------------------- Option Explicit Private Sub Command1_Click() Dim i As Integer i = 1 If Me.Controls("Option" & CStr(i))(1).Value Then MsgBox "Option1(1) がチェックされています。" Else MsgBox "未チェック" End If End Sub '-------------------- Option Strict On Imports Microsoft.VisualBasic.Compatibility.VB6 Friend Class Form1 Inherits System.Windows.Forms.Form Private Sub Command1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Command1.Click Dim i As Short = 1 Dim rdo As RadioButtonArray = DirectCast(CallByName(Me, "Option" & CStr(i), CallType.Get), RadioButtonArray) If rdo(1).Checked Then MsgBox("Option1(1) がチェックされています。") Else MsgBox("未チェック") End If End Sub End Class ============================== なお、DirectCast を使っている行は、VB6 でいうところの Dim rdo As Object 'VB6 のコントロール配列には、固有の型が無い Set rdo = CallByName(Me, "Option1", VbGet) If rdo(1).Value Then のコードに相当します。
分類:[.NET]
VB6から.netに移行しています。
コンバートで出来た、RaddioButtomArrayを
me.control("ボタン" & i & "(1)").checkedの用に変数iを使って、チェックされているか判断したいのですが。
なにかいい方法はないでしょうか?
どなたかご教示下さい。よろしくおねがいします。