■38912 / ) |
Re[1]: textboxのBackcolor設定 |
□投稿者/ gtk2k (26回)-(2009/07/27(Mon) 15:46:33)
|
■No38906 (toto さん) に返信 > よろしくお願いします。 > 従来VBAで造っていたものをVB2008に変換していますが、TextboxのBackcolorの所の記述がうまくいきません。 > > sub XXXX > ① Dim mytextbox As MSForms.TextBox > Dim i AS interger > 途中略 > For i = 1 To 42 > ② Set mytextbox = Me.Controls("textbox" & i) > If Mat(2, i) = "1" Then > ③ Me.Controls("textbox" & i).BackColor = &HC0C0FF > Else > Me.Controls("textbox" & i).BackColor = &H80000005 > End If > end sub > 上記のプログラムの中で > ①、②、③の記述部分のご指導をお願いします。 >
なんかソース見ると①と②は不要な気がするんだけど。 まああえて書けば ①は Dim mytextbox As TextBox ②は mytextbox = Me.Contlors("textbox" & i) となる。
③は VB.NETにおいてはColor構造体を使用して、色を設定したり参照したりする。 ③をVB.NETに変化すると Me.Controls("textbox" & i) = Color.FromArgb(&HFF, &HC0, &HC0) となる。 あと、○付けされていない行 Me.Controls("textbox" & i).BackColor = &H80000005 の行では、システムカラーを設定しているので注意しないといけない。 &H80000005はウィンドウの背景色らしい。 この行を素直に変換すると Me.Controls("textbox" & i).BackColor = System.Drawing.SystemColors.Window としちゃうところだが、VB.NETにおいてウインドウの背景色はSystem.Drawing.SystemColors.Controlが設定されているので Me.Controls("textbox" & i).BackColor = System.Drawing.SystemColors.Control となる。
|
|