AQUA's .NET 奮闘記

Hobby Programmer の成長記録

目次

ニュース

  • わんくま同盟
    わんくま同盟
  • わんくま掲示板
    C# と VB.NET の質問掲示板
スカウター : AQUA's .NET 奮闘記

日記カテゴリ

記事カテゴリ

書庫

Blog 利用状況

わんくま同盟 AWARD

わんくま同盟 影

また課題を増やしてしまった。 T-T

色々と課題多き今日この頃ですが、また課題が増えてしまいました。T-T [ 一瞬で無事解決しました。]

内容の確認は、たぶん先の事となりそうなので、忘れないようにメモしておきます。

?

【内容】


フォームやコンテナの中にあるコントロールのコレクションを列挙した時、コレクションの取得の順序はそのフォームやコンテナに配置した順序と逆の順番である。


【検証】


用意するフォーム及びコントロール
コントロールの種類 コントロールの名前 備考
Form Form1
Button Button1
GroupBox GroupBox1
RadioButton RadioButton1 GroupBox1の中に配置
RadioButton RadioButton2 GroupBox1の中に配置
RadioButton RadioButton3 GroupBox1の中に配置
CheckBox CheckBox1 GroupBox1の中に配置
CheckBox CheckBox2 GropeBox1の中に配置


Visual Basic 2005 コード

Public Class Form1

??? Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

??????? ' GroupBox1の中にあるコントロールコレクションからコントロールを取得
???????For Each myControls As Control In Me.GroupBox1.Controls
??????????? '?取得したコントロールの名前を出力する。
??????????? Console.WriteLine(myControls.Name)
??????? Next
??? End Sub


End Class
?

【実行結果】


CheckBox2
CheckBox1
RadioButton3
RadioButton2
RadioButton1


【確認すべき内容】


列挙したコントロールは逆から取得されている。 なぜだぁ~~~~~~!!!


?

【解決しました。】

じゃんぬさんからコメントを頂き、わずか数分で解決してしまいました。^^;

なるほどなぁ… いわれてみれば確かにそうだけど、思いもしなかった。(苦笑)

投稿日時 : 2007年3月10日 16:08

Feedback

# re: また課題を増やしてしまった。 T-T 2007/03/10 16:46 じゃんぬねっと

「ZOrder 順で取得されている」 と書けば納得できますか?
逆に 「ZOrder とは逆の順序」 の方が違和感がありますよ。
デザイナでもそのように管理されているハズですから。

# re: また課題を増やしてしまった。 T-T 2007/03/10 16:53 アクア

じゃんぬさん

ありがとうございます。

早くも解決!? (笑)
ということは、例えば[書式]メニューから[順序]を選択してやれば取得する順序も変わるってことですか?

試してみます。

# re: また課題を増やしてしまった。 T-T 2007/03/10 17:24 アクア

> じゃんぬさん

無事解決いたしました。あらためて御礼申し上げます。
先の、[書式]→[順序]→[最前面に移動(B)]もしくは[最背面に移動(S)]を選択することで出力された順序が変化したことを確認しました。

ZOrderについてはもう少し調べてみようと思いますが、今回の件でZOrderが関係しているとは想像していなかったので非常に勉強になりました。

ありがとうございました。

# Zオーダーで遊んでみました。 2007/03/14 14:17 AQUA's .NET 奮闘記

Zオーダーで遊んでみました。

タイトル
名前
Url
コメント