C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: textboxのBackcolor設定


(過去ログ 67 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■38906 / inTopicNo.1)  textboxのBackcolor設定
  
□投稿者/ toto (1回)-(2009/07/27(Mon) 14:11:09)

分類:[.NET 全般] 

よろしくお願いします。
従来VBAで造っていたものをVB2008に変換していますが、TextboxのBackcolorの所の記述がうまくいきません。

sub XXXX
@ Dim mytextbox As MSForms.TextBox
  Dim i AS interger
途中略
  For i = 1 To 42
A    Set mytextbox = Me.Controls("textbox" & i)
   If Mat(2, i) = "1" Then
B    Me.Controls("textbox" & i).BackColor = &HC0C0FF
   Else
    Me.Controls("textbox" & i).BackColor = &H80000005
   End If
end sub
 上記のプログラムの中で
 @、A、Bの記述部分のご指導をお願いします。
 
引用返信 編集キー/
■38912 / inTopicNo.2)  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
> A    Set mytextbox = Me.Controls("textbox" & i)
>    If Mat(2, i) = "1" Then
> B    Me.Controls("textbox" & i).BackColor = &HC0C0FF
>    Else
>     Me.Controls("textbox" & i).BackColor = &H80000005
>    End If
> end sub
>  上記のプログラムの中で
>  @、A、Bの記述部分のご指導をお願いします。
>

なんかソース見ると@とAは不要な気がするんだけど。
まああえて書けば
@は
Dim mytextbox As TextBox
Aは
mytextbox = Me.Contlors("textbox" & i)
となる。

Bは
VB.NETにおいてはColor構造体を使用して、色を設定したり参照したりする。
Bを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
となる。
引用返信 編集キー/
■38913 / inTopicNo.3)  Re[2]: textboxのBackcolor設定
□投稿者/ toto (2回)-(2009/07/27(Mon) 16:15:10)
No38912 (gtk2k さん) に返信
> ■No38906 (toto さん) に返信
>>よろしくお願いします。
>>従来VBAで造っていたものをVB2008に変換していますが、TextboxのBackcolorの所の記述がうまくいきません。
>>
>>sub XXXX
>> @ Dim mytextbox As MSForms.TextBox
>>   Dim i AS interger
>> 途中略
>>   For i = 1 To 42
>> A    Set mytextbox = Me.Controls("textbox" & i)
>>    If Mat(2, i) = "1" Then
>> B    Me.Controls("textbox" & i).BackColor = &HC0C0FF
>>    Else
>>     Me.Controls("textbox" & i).BackColor = &H80000005
>>    End If
>>end sub
>> 上記のプログラムの中で
>> @、A、Bの記述部分のご指導をお願いします。
> >
>
> なんかソース見ると@とAは不要な気がするんだけど。
> まああえて書けば
> @は
> Dim mytextbox As TextBox
> Aは
> mytextbox = Me.Contlors("textbox" & i)
> となる。
>
> Bは
> VB.NETにおいてはColor構造体を使用して、色を設定したり参照したりする。
> Bを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
> となる。
早速のご指導ありがとうございます。
 ご指導の通り実施しましたが、Bの所で
 NullReferenceExceptionはハンドルされませんでしたのと警告が表示されました。
 どのように修正したらよいか教えていただきたいと思います。
引用返信 編集キー/
■38915 / inTopicNo.4)  Re[3]: textboxのBackcolor設定
□投稿者/ gtk2k (27回)-(2009/07/27(Mon) 16:23:50)
2009/07/27(Mon) 16:36:07 編集(投稿者)
2009/07/27(Mon) 16:27:44 編集(投稿者)

Formにはテキストボックスを(42個)配置してる?
配置しているならテキストボックスのNameプロパティを
"textbox1"〜"textbox42"に設定しないと(大文字小文字区別しないからデフォルトでつけられている"TextBox1"でだいじょうぶだけど)

引用返信 編集キー/
■38918 / inTopicNo.5)  Re[4]: textboxのBackcolor設定
□投稿者/ toto (5回)-(2009/07/27(Mon) 17:15:37)
No38915 (gtk2k さん) に返信
> 2009/07/27(Mon) 16:36:07 編集(投稿者)
> 2009/07/27(Mon) 16:27:44 編集(投稿者)
>
> Formにはテキストボックスを(42個)配置してる?
> 配置しているならテキストボックスのNameプロパティを
> "textbox1"〜"textbox42"に設定しないと(大文字小文字区別しないからデフォルトでつけられている"TextBox1"でだいじょうぶだけど)
>
有り難うございました。解決しました。テキストボックスをグループして有ってので、グループ化を止めたら
出来ました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -