|
■No81186 (VB初心者 さん) に返信 > ボタンクリックの際にコンソールをまとめて(各ボタンのタグに 1 2 3を入力)
コードで入力する場合、 Button1.Tag = "1" 'この場合は String 型 Button1.Tag = 1 'この場合は Integer 型 のような違いが出ます。
また、デザイン時に設定した場合は String です。
何も設定していない場合は Nothing ですが、 Button1.Tag = "" とした場合は、Nothing ではなく "" になるのでご注意下さい。
> Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click > Select Case CType(sender.tag, Integer) > CTypeで 遅延バインディングエラーがでます。
sender は Object 型です。Object 型は tag プロパティを持ちません。
Option Strict Off の場合は、遅延バインディングとして扱われますが、 Option Strict On の場合はエラーになりますので、型を明示して Select Case DirectCast(sender, Button).Tag Case "1" あるいは Select Case CInt(DirectCast(sender, Button).Tag) Case 1 などとする必要があります。
|