DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ListBoxを最背面にしたい

環境/言語:[環境(Windows2000)、使用言語(VB.NET)]
分類:[.NET]

Formに、ListBox TextBoxを沢山はりつけてます。
そして、Spreadシート(1シート)も重ねてはりつけてます。
LoadしたときはSpreadシートを非表示にしているため、ListBox TextBoxのみ表示されています。そして、画面にはりつけているあるボタンを押したときにSpreadシートを最前面にして表示させたいのですが、ここで困っています。
TextBoxは問題ないのですが、何故かListBoxが最前面になってしまいます。
どのようにすると、ListBoxが最背面になり、Spreadシートを最前面にすることができるのでしょうか?
すいません、「ListBox」ではなく、「DropDownList」でした。

■No10576に返信(まささんの記事)
> Formに、ListBox TextBoxを沢山はりつけてます。
> そして、Spreadシート(1シート)も重ねてはりつけてます。
> LoadしたときはSpreadシートを非表示にしているため、ListBox TextBoxのみ表示されています。そして、画面にはりつけているあるボタンを押したときにSpreadシートを最前面にして表示させたいのですが、ここで困っています。
> TextBoxは問題ないのですが、何故かListBoxが最前面になってしまいます。
> どのようにすると、ListBoxが最背面になり、Spreadシートを最前面にすることができるのでしょうか?
■No10576に返信(まささんの記事)
> Formに、ListBox TextBoxを沢山はりつけてます。
> そして、Spreadシート(1シート)も重ねてはりつけてます。
> LoadしたときはSpreadシートを非表示にしているため、ListBox TextBoxのみ表示されています。そして、画面にはりつけているあるボタンを押したときにSpreadシートを最前面にして表示させたいのですが、ここで困っています。
> TextBoxは問題ないのですが、何故かListBoxが最前面になってしまいます。
> どのようにすると、ListBoxが最背面になり、Spreadシートを最前面にすることができるのでしょうか?

恐らく、コードで制御している為、順番等が解らなくなっているからなのでしょうが、簡単に解決したいなら、
最前面にしたくないコントロールを非表示にすると云った方法がありますよ。
お返事ありがとうございます。

そうですか…。
TextBoxは順序(最背面/最前面)が決めれるけど、
DropDownList等はその様なプロパティがないということですかね…。
でも確か、VBAとかならあるんですよね?
何か不思議な気がしますね。。。

> 恐らく、コードで制御している為、順番等が解らなくなっているからなのでしょうが、簡単に解決したいなら、
> 最前面にしたくないコントロールを非表示にすると云った方法がありますよ。
■No10579に返信(まささんの記事)
> お返事ありがとうございます。
>
> そうですか…。
> TextBoxは順序(最背面/最前面)が決めれるけど、
> DropDownList等はその様なプロパティがないということですかね…。
> でも確か、VBAとかならあるんですよね?
> 何か不思議な気がしますね。。。

>>恐らく、コードで制御している為、順番等が解らなくなっているからなのでしょうが、簡単に解決したいなら、
>>最前面にしたくないコントロールを非表示にすると云った方法がありますよ。


いえ、どのコントロールでも(最背面/最前面)を決めることができます。
ただ、設定の順番がおかしいのでは?といいたいのです。
今しがた、実験してみましたが、ちゃんとできましたよ。
ただ、コントロールが多すぎて混乱してるのでは?
お返事ありがとうございます!

> ただ、設定の順番がおかしいのでは?といいたいのです。
設定の順番と申しますと…?
ども。こんにちは。

■No10581に返信(まささんの記事)
> お返事ありがとうございます!
>
>>ただ、設定の順番がおかしいのでは?といいたいのです。
> 設定の順番と申しますと…?

デザイン画面で対象のコントロール(今回の場合はSpreadですね)を最前面にしておけば、非表示→表示しても問題なく最前面に表示されるはずです。
ですので、ぺがらぼさんはデザイン画面での設定の順番がおかしいのでは?といっているのではないかと思うのですが。

間違えていたら申し訳ありません。
> すいません、「ListBox」ではなく、「DropDownList」でした。

最初の質問文からはWindowsアプリだと思ったのですが、
Webアプリなんですか?

WindowsアプリならBringToFront/SendToBackでできますが、
Webアプリの場合、そんな考え方自体がないような気もします。
(.NETのWeb開発上のそれっぽいことを簡単にできる機構はあるかもしれませんが、
 そちらは詳しくありません。内部的にはJavaScriptによる実装になるでしょうね、きっと。)
> WindowsアプリならBringToFront/SendToBackでできますが、
> Webアプリの場合、そんな考え方自体がないような気もします。

考え方はありますが、IE6以前ではコントロールできません。
IE7ではどうなるかなー

DOBON.NET | プログラミング道 | プログラミング掲示板