C# WPF 如何实现控件数组?

我想用C#做一个图片浏览器,图片一开始是以5×5的矩阵摆放的,全部用Image控件放在主窗体里,然后当鼠标点击到任意一张图片时,其他图片变为不可见的同时,这张图片放大到全... 我想用 C# 做一个图片浏览器,图片一开始是以 5×5 的矩阵摆放的,全部用 Image 控件放在主窗体里,然后当鼠标点击到任意一张图片时,其他图片变为不可见的同时,这张图片放大到全屏。如果用 25 个单独的 Image 控件到时候写代码不好写,有没有一种用控件数组的方法实现呢?也就是将这 25 个 Image 控件合成为一个数组,到时候响应事件时只需要区分数组的下标就可以实现相应的动作。 展开
 我来答
出家人词悲
高赞答主

推荐于2018-04-12 · 大脑停止不了思考
知道大有可为答主
回答量:1.4万
采纳率:12%
帮助的人:3968万
展开全部

picturebox[] pixArray = new picturebox[25]

           for (int i = 0; i < 25; i++)
           {
               pixArray[i] = new picturebox();
               pixArray[i].Tag = i;    
               ....          
           }
直接定义一个 Image 控件类型的数组,通过动态添加或者静态提前写好的方式,将25个控件对象放入数组中,到时候直接通过数组下标来控制就可以了,加入数组时,在PictureBox.Tag中保存数组下标,这样在事件响应的时候就能区分是那个下标的控件被点击了.

补充:C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

zhangchi0420
2013-07-25
知道答主
回答量:39
采纳率:0%
帮助的人:20.1万
展开全部
List<UIElement> list;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2013-07-25 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4392万
展开全部
你这还是vb的思维,正确的做法应该是定义ObservableCollection<image>,然后绑定到界面的listbox,还需要定义ItemTemplate和ItemContainerStyle。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
biubiubiubiubiu5biu
2013-07-25 · TA获得超过1647个赞
知道小有建树答主
回答量:1126
采纳率:0%
帮助的人:1166万
展开全部
用数组只能在代码里去布局,这样很麻烦的。
建议你做一个自定义控件
用一个5*5的Grid,然后初始化此控件时,在每个格子里加载一个image。
然后给这个自定义控件加个SetIamge 和 GetImage 的属性即可。

还有,WPF不需要你去定义图片的数组,ImageList,这个类是有的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-06-25
展开全部
PictureBox[] pixArray = new PictureBox[25];
for (int i = 0; i < 25; i++)
{
pixArray[i] = new PictureBox();
pixArray[i].Tag = i;
....
}
你直接定义一个 Image 控件类型的数组,通过动态添加或者静态提前写好的方式,将25个控件对象放入数组中,到时候你直接通过数组下标来控制就可以了,加入数组时,你在PictureBox.Tag中保存数组下标,这样你在事件响应的时候就能区分是那个下标的控件被点击了.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式