作者stu87616 (以光为名)
看板C_Sharp
标题[问题] 建立物件後的程式写法请益
时间Sun Jun 24 23:27:19 2012
各位高手好,不才又来板上请教似乎应该是很基本的技巧m(_ _)m
以往老师授课都是教我们用好用的工具箱拉物件出来,
然後直接点两下开始写程式,很方便很直觉很简单,
textBox1、Button1....已经变成习惯。
现在私底下自己在摸索一些进阶的功能,遭遇了一个障碍,
我用程式码动态的建立一个物件後,不知道怎麽呼叫它?!
程式码是这样子的:
Button Btn = new Button();
然後是一串物件描述(Name. Location. Size...)
this.Controls.Add(Btn);
Btn.Click += new EventHandler(Btn_Click);
然後下面再写一个函式来描述这些物件的作用
void Btn_Click(object sender, EventArgs e)
{
}
以上是我Google出来的写法,还算过得去,也看得懂,
但是卡在Btn_Click里面不知道怎麽开始着手,
比如我要知道这个建立出来的Btn的Size,
以往只要简单的Button1.Size这样就呼叫出来了,
但现在前面的主词要放什麽都不对,
我试过直接用this,但不对,它会呼叫到Form1的(?),
另外试了几个也都不行,也Google不到,只好厚着脸皮来板上问。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.171.246.211
1F:→ james732:Button btn = (Button)sender; 06/24 23:32
唔,可以了! 原来是这样,感谢指教orz
※ 编辑: stu87616 来自: 1.171.246.211 (06/24 23:51)
希望还有人会看到(?)
进一步的问题是这样的,
我动态的建立了许多PictureBox,想要换图片的时候不知道该如何呼叫,
我用this.Controls.Find(); 这个指令可以成功的抓到我要的那些PictureBox
但是this.Controls.Find().←这里之後,用Name啦,Size啦,都可以很正常抓到,
但那是很通用的属性,PictureBox独有的Image属性就不会出来,
这样不知道怎麽改图片...
请问我这样的做法有错吗?要怎麽过这关...
※ 编辑: stu87616 来自: 1.162.162.170 (06/26 23:21)
2F:→ stu87616:自推一下 希望有人能看到orz 06/26 23:21
3F:→ s3748679:...应该可以转型吧 06/26 23:28
4F:→ s3748679:话说当初动态生成的时候,不就可以把增加的记录下来了吗 06/26 23:29
呃...可以详细一点说明吗@@
要怎麽记录下(这样就能让编译器知道这是一个PictureBox吗?
※ 编辑: stu87616 来自: 1.162.162.170 (06/26 23:34)
还有转型...感觉就是我要的答案,这个要怎麽做?
※ 编辑: stu87616 来自: 1.162.162.170 (06/26 23:34)
5F:→ s3748679:var b1 = (Button)controls.Find("button1", true)[0]; 06/26 23:40
6F:→ s3748679:这例子可以吗 06/26 23:40
7F:→ stu87616:我看得懂这个意思..不过尝试下去编译器还是没有出现Image 06/26 23:44
8F:→ stu87616:的属性给我控制@@ 06/26 23:44
9F:→ s3748679:((XXX)controls.Find("OXOX", true)[0]).Image这样? 06/26 23:49
10F:→ s3748679:这样总该会跳出来了吧.. 06/26 23:49
11F:→ stu87616:试出来了 感谢大大耐心解说 06/26 23:53
12F:→ stu87616:是先 var b1=((XXX)controls.Find("OXOX", true)[0]); 06/26 23:53
13F:→ stu87616:然後b1.Image就会出现了 06/26 23:53
14F:→ andymai:s3748679大大用心解了这些~有了解为什麽可以这样用吗?为什 06/27 01:22
15F:→ andymai:麽会有通用属性?为什麽会有Image属性? 06/27 01:23
16F:→ stu87616:嗯..我的想法是没有特别说就只有通用属性 06/27 01:55
17F:→ stu87616:因为用强制转换注明了这是一个pictureBox,所以编译器知道 06/27 01:55
18F:→ stu87616:这个控制项该有Image 06/27 01:55
19F:→ andymai:这...我想还是先去看看什麽是"继承"、"界面"~"深入浅出设 06/27 02:24
20F:→ andymai:计模式"虽然是用Java写的~但看懂它应该没问题~先看懂第一 06/27 02:25
21F:→ andymai:章的鸭子范例就好了~再回头看这里的 Control、Button、Pic 06/27 02:26
22F:→ andymai:tureBox是什麽样的关系~接着可以查微软官网~看看为什麽sen 06/27 02:27
23F:→ andymai:der可以转成该button来使用~EvenArgs的用处又是什麽... 06/27 02:28
24F:→ s3748679:有物件浏览器可以查... 不够的话再去逛逛msdn.. 06/27 12:12
25F:→ stu87616:ok,了解了 感谢详细的讲解..我会尽力确实钻研的 06/27 20:37
26F:推 tvbic:你先买本书来看好吗 06/28 01:28