タイトル : Re^5: 透過したラベルのイベントをとりたい 投稿日 : 2012/05/17(Thu) 18:22 投稿者 : 魔界の仮面弁士
> わかりにくい説明に丁寧に解釈して説明頂きありがとうございました。 結局、どのように解釈すれば良いのか曖昧なままだったり…。 雑談用掲示板の方に、画面イメージを説明用に貼ってもらえませんか? > 親ラベルを Color.Transparentで透明にしており 最初の No10808 では、 子Label.Parent = 親Label '[子]の "親" として [親] を割当 子Label.BackColor = Color.Transparent '[子]の "背景色" を `透明` にする と記述されていましたよね。 親ラベルを Transparent にしていたということは、 子Label.Parent = 親Label 子Label.BackColor = Color.Transparent 親Label.BackColor = Color.Transparent '親も子も透明 だったということですか? > イベントはとれて下の色も変更されてました 「下の色」というのは、どれの色を指しているのでしょうか? > 親ラベルを Color.Transparentで透明にしており > 子の色を変更しても親に隠れて色が表示されてなかったように見えてただけでした。 未だに分からないので、再度整理。 質問内容を想像で補っているので、差異があったら訂正してください。 ============================================== 【仮定1:現在の画面構成】 ---------------------------------------------- [Form1] ┗[Label0] … 親ラベル ┣[Label1(Transparent)] … 子ラベル ┣[Label2(Transparent)] … 子ラベル : ┗[Label40(Transparent)] … 子ラベル Label1.Parent = Label0 Label1.BackColor = Color.Transparent Label2.Parent = Label0 Label2.BackColor = Color.Transparent : Label40.Parent = Label0 Label40.BackColor = Color.Transparent ============================================== 【仮定2:現在の状況】 ---------------------------------------------- > 再度確認しましたらイベントはとれて ・子ラベル(画面手前側のラベル)で、MouseMove イベントは受け取れていた。 ・このイベントとは、上図でいうところの Label1〜Label40 のイベントである。 > 下の色も変更されてました ・その MouseMove で、子ラベルの「下」すなわち画面奥側にある何かの色を変更している。 * Form1 の色を変えている? * 親ラベル(Label0) の色を変えている? * それ以外の何か? > 親ラベルを Color.Transparentで透明にしており ・親ラベルは、子と同様に Transparent に設定されていた? ・子の MouseMove 中では、親ラベルの色は変更していない? ・変更したい色は、親ラベルのさらに親(Formなど)の色であるということか? > 親に隠れて色が表示されてなかったように見えてた ・ここでいう「親に隠れた色」とは、何の事を指しているのか? * 親の下(画面の奥側)にあるコントロール(Form や Panel 等)の色のことか? * 親ラベルが Transparent なら、さらにその親(Form 等)の背景色も見えるはず…? > 上記の場合に子の色を表に出すことは可能でしょうか? 子(最前面にあるラベル)は透明なので、そもそも色は無いのでは? 親コントロールの色がそのまま表示されるだけだと思いますけれども…。 |