作者forewero (木日一)
看板C_Sharp
标题[问题] 如何在class中取得项目的button.imagine?
时间Thu Mar 15 13:50:05 2018
最近写一支专案大概有16X支子程式
而现在要在所有子程式的button里面加上事件
我想一次做掉
所以在class里面写
总共有大概七种类型的button
每种类型的button要做的事情不一样
所以我要在class里面判断
而各个种类的button只有图片是用一样的(一个种类用一个)
名字每个人却取不统一
现在我要在class里面去读button.imagine,但找不到合适的方法
不知道有没有甚麽做法可以做到这点?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.222.53.85
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1521093008.A.23B.html
1F:推 howardH: 物件导向吗? 03/15 14:48
2F:推 neo5277: 引用的图片来源给识别,然後class写个判断读进来的是哪个 03/15 15:37
3F:→ neo5277: 再委派给他应该就可以了吧 03/15 15:37
4F:→ neo5277: button 的img属性应该会有pic的名称 03/15 15:38
5F:→ forewero: 原本是想从CLASS直接拉BUTTON图片名称,现在改从BUTTON 03/15 16:26
6F:→ forewero: 传图片名称当参数 03/15 16:26
不过现在还是拉不出图片名称
我在BUTTON下面加入
var button = sender as Button;
然後 button.image去找,找不到传出图片名称的方法
※ 编辑: forewero (61.222.53.85), 03/15/2018 16:51:09
7F:推 howardH: ((Button)sender).image 03/15 17:01
我有试过不过他会出现((Button)sender).Image = '((Button)sender).Image' 掷回
'System.InvalidCastException' 类型的例外状况
※ 编辑: forewero (61.222.53.85), 03/15/2018 17:15:09
8F:→ Litfal: 为什麽是在事件里用Image去分种类,而不是一开始就连到不 03/16 08:02
9F:→ Litfal: 同种类的事件呢 03/16 08:02
10F:推 annies5: 你只是要分辨是哪一个button被按下,应该是判断 03/16 16:31
11F:→ annies5: (sender as Button).Name 03/16 16:31
12F:→ annies5: 快速找出button用哪个image,你可以去看form1.designer.cs 03/16 16:49
13F:→ annies5: 然後把同一类型button以命名规则取名 03/16 16:50
谢谢各位的帮助,最後有找出BUTTON.IMAGE的属性
不过比较可惜是最後也没照这个方式做
因为BUTTON.IMAGE我们是在LOAD的阶段动态加上去的
BUTTON.IMAGE会抓到的是动态加上去以前的图片名称
初学c#,有些名词可能讲得不是很清楚,还请各位前辈包含
也谢谢各位的回覆
※ 编辑: forewero (111.185.68.213), 03/18/2018 17:27:06