请帮忙解决一个c#的问题(按钮问题)

xiao_run 2009-12-08 04:29:38
问题描述


我最近正在做一个小项目

可上面有很多的按钮,由于我要给它们赋予一个随机的图片(与"水晶连连看"相似),我打算把它们放到一个按钮类型的数组

buttonarray中,可按钮太多,一个一个赋值太烦.


哪位高手有简单的办法可以帮我把当前窗体的部分按钮赋给buttonarray中.

先谢谢了!

...全文
192 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
KylinBL 2009-12-08
  • 打赏
  • 举报
回复
正在学习。。MARK
jhjghg 2009-12-08
  • 打赏
  • 举报
回复
路过看看
xiao_run 2009-12-08
  • 打赏
  • 举报
回复
谢谢大家,我成功了
tianliang1 2009-12-08
  • 打赏
  • 举报
回复
熊猫烧香的是对的
hhc123 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 sdfkfkd 的回复:]
没道理不执行
是不是你的button放在其他容器中啊,如panel,groupbox等 ,
放在哪个容器中,就用哪个容器的Controls进行遍历
如果直接放在FORM中,就用10楼的代码应该可行

引用 14 楼 xiao_run 的回复:
没用,它不执行if条件内的语句

[/Quote]
羊羊,我想死你了,kiss一个
代码都给你看吧,我测试过了

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 联兴布行ERP
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
ArrayList arraylist = new ArrayList();
Random rx = new Random();

private void button1_Click(object sender, EventArgs e)
{



foreach (Control al in Controls)
{
if (al is Button)
{
int i = rx.Next(0, 2);
((Button)(al)).Image=Image.FromFile(arraylist[i].ToString());

}
}
}

private void Form2_Load(object sender, EventArgs e)
{
arraylist.Add(@"C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\Blue hills.jpg");
arraylist.Add(@"C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\Sunset.jpg");
}

}}

hhc123 2009-12-08
  • 打赏
  • 举报
回复
ArrayList al=new ArrayList();//存路径
al.add(图片路径);
Random rx = new Random();
Foreach(Control al in Controls
这里重复了一个了
al上面改掉一个
特别 2009-12-08
  • 打赏
  • 举报
回复
没道理不执行
是不是你的button放在其他容器中啊,如panel,groupbox等 ,
放在哪个容器中,就用哪个容器的Controls进行遍历
如果直接放在FORM中,就用10楼的代码应该可行

[Quote=引用 14 楼 xiao_run 的回复:]
没用,它不执行if条件内的语句
[/Quote]
lijing3333 2009-12-08
  • 打赏
  • 举报
回复
ArrayList al=new ArrayList();
丢进去就成obj了 可以用泛型试试
hhc123 2009-12-08
  • 打赏
  • 举报
回复
没道理啊,我可以执行啊
hhc123 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xiao_run 的回复:]
没用,它不执行if条件内的语句
[/Quote]
你把Control 换成Button
xiao_run 2009-12-08
  • 打赏
  • 举报
回复
没用,它不执行if条件内的语句
xiao_run 2009-12-08
  • 打赏
  • 举报
回复
谢谢,我试试
hhc123 2009-12-08
  • 打赏
  • 举报
回复
也可以用ImageList
随机一个ImageIndex;就可以了,方法实在是很多
hhc123 2009-12-08
  • 打赏
  • 举报
回复
图片你可以

ArrayList al=new ArrayList();//存路径
al.add(图片路径);
Random rx = new Random();
Foreach(Control al in Controls)
{
if(al is Button)
{
int i=rx.Next(0,al.count+1);

al.BackgroundImage==Image.FromFile(al[i]);
}
}
你去试一下
hhc123 2009-12-08
  • 打赏
  • 举报
回复

Foreach(Control al in Controls)
{
if(al is Button)
{
al.BlackImage=随机到的图片
}
}
ddsxd19 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xiao_run 的回复:]
引用 3 楼 xiao_run 的回复:
引用 2 楼 zr2199 的回复:
放数组里不如放枚举里。
毕竟是常量enum

只要可以把给按钮赋图片的问题,放枚举也可以,可是我还是不清楚如何写,可以提供代吗吗

我刚弄错了,是图片赋给按钮
[/Quote]
"把按钮赋给图片"~我说我怎么没看明白。。
帮顶~大家都要下班啦。
xiao_run 2009-12-08
  • 打赏
  • 举报
回复
我顶呀
liherun 2009-12-08
  • 打赏
  • 举报
回复
不懂
tangsan1985 2009-12-08
  • 打赏
  • 举报
回复
学习了
xiao_run 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhongjiekangping 的回复:]
部分 按钮  这个 程序 怎么来识别?  你的部分按钮有什么 特征吗
[/Quote]
这些按钮没有具体的特征

不过名字我可以设与其它的完全不一样,不知这个算不算
加载更多回复(4)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧