投稿日 | : 2005/03/30(Wed) 09:59 |
投稿者 | : ダンボ |
URL | : |
タイトル | : (便乗質問)コントロールをLoadするときのVisible |
テキストの配列の持ち方 - いち 03/25-16:42 No.2645の便乗質問です。
> For i = 1 to 60
> Load text1(i)
> text1(i).Move Left(i), Top(i)
> text1(i).Visible = True
> Next i
コントロールに対するLoad命令はIndex0でデザインされたコントロールのプロパティを引き継ぎますが、
Visibleプロパティだけは必ずFalseにされます。このことが長年疑問ではありました。
(1)Load命令実装時の都合なのか?
(2)使用者の便宜を図った仕様なのか?
で、前者は理由が想定できない(わざわざFalseに変えるだけ手間)、すると後者なのだが、
・text1(i).Visible = TrueでLoadするとtext1(0)と同じ場所に表示される。
・同じ場所に別なコントロールを表示する仕様は考えづらい(無いとは言えないのでは)ので、
・どうせフォームの別な場所に再配置する必要がある。
・そのときに.Visible = Trueだと画面がちらつくので移動前にひとまず.Visible = Falseにすべきだ。
・ならば、Load時にはVB側であらかじめ.Visible = Flaseにしておいてあげましょう。
というストーリーなのでしょうかね?
正解はMicrosoftに聞かなければわからないし、そこまでする気も無いですので、別な解釈があれば
お願いします。