作者starlife672 (我爱秋爱我)
看板Programming
标题Re: [请益] 如何抓取父控制项
时间Sat Dec 20 05:17:33 2008
※ 引述《qazsd (舍得 放下 空)》之铭言:
: ※ [本文转录自 Web_Design 看板]
: 架构如下:
: Panel1
: └ CheckBox1 ─ PlaceHolder1
: └TextBox1_1 ─ TextBox1_2 ─ TextBox1_3
: Panel2
: └ CheckBox2 ─ PlaceHolder2
: └TextBox2_1 ─ TextBox2_2 ─ TextBox2_3
: Panel3
: └ CheckBox3 ─ PlaceHolder3
: └TextBox3_1 ─ TextBox3_2 ─ TextBox3_3
: 就是小弟由上而下放了三个Panel,每个Panel里都有CheckBox、PlaceHolder跟TextBox
: 在点了其中一个方块後,就会在该方块(例如CheckBox1)的旁边,
: 秀出三个输入文字方块(例如TextBox1_1 ─ TextBox1_2 ─ TextBox1_3)
: 想当然也,要不就是文字方块的Visable属性预设为false,
: 不然就是PlaceHolder的Visable属性为false。
: 现在想将这三个CheckBox的CheckedChanged事件通通写成一个函式
: 但因为要判断是哪个方块被核取,然後再显示或隐藏相对应的文字输入方块
: 试问这是叫作"多型"对吧?也就是函式传参数进去..
: 那有没有办法判断出是点了哪一个CheckBox
: 接着再找出它的父控制项,也就是Panel
: 好去更改它子控制项(PlaceHolder)的属性(Visable),让TextBox可以显现或隐藏
1.三个控制项的OnSelectedChange事件都设定为同一个Method
例如
public void SelectedChange(object sender,EventArgs e){
CheckBox chk = (CheckBox) sender;
MessageBox.Show(chk.Checked+"");//秀出来了
if(chk.Parent is Panel){
Panel panel = (Panel)chk.Parent;
//搞定
}
}
--
我很可怜,前几天出了场车祸,
对方一下车不清青红皂白的就把我打了一顿,
我问他为什麽打我?他说因为我长的太帅,我很生气!!
因为我觉得我长的一点都不出色...
我抓了个路人来帮我评评理,那路人也打了我一顿,ꘊ为他说我说谎..我招谁惹谁了我!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.17.9.234