CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

过程A中在主窗口动态添加PicBoxFace,在过程B中该如何操作?

楼主WithSmile2000(其实我是一个马甲)2004-09-04 19:43:36 在 .NET技术 / C# 提问

private   void   FormMain_Load(object   sender,   System.EventArgs   e)  
  {  
  PictureBox[,]   PicBoxFace   =   new   PictureBox[99,99];  
  for(int   i=0;i<intTileHNum;i++)  
      for(int   j=0;j<intTileVNum;j++)  
          PicBoxFace[i,j]   =   new   PictureBox();  
          PicBoxFace[i,j].ID   =   "PicBoxFace"+i+"X"+j;  
  }  
   
  private   void   ProcessIniBMap()  
  {  
  //以下是想要操作上个过程动态添加的PicBoxFace[i,j]  
  //但是通过PicBoxFace[i,j]是不能访问的,该如何实现?通过ID访问?  
  //有类似FindControl的函数吗?  
  for(int   i=0;i<99;i++)  
      for(int   j=0;j<99;j++)  
          PicBoxFace[i,j].Image=ImageTarrain[0];  
  }  
  问题点数:0、回复次数:8Top

1 楼hxhbluestar(贺星河)回复于 2004-09-04 20:10:12 得分 0

不是通过ID访问,而是通过索引访问  
   
  在   FormMain_Load()中添加一个Panel控件,假设为Panel1  
  并添加一个ArrayList   picList   =   new   ArrayList()存放这些PictureBox  
   
   
  PicBoxFace[i,j]   =   new   PictureBox();  
  this.Panel1.Controls.Add(PicBoxFace[i,j]);  
  this.picList.Add(PicBoxFace[i,j]);  
   
  在   ProcessIniBMap()中  
  for(int   i=0;i<99;i++)  
  {  
      for(int   j=0;j<99;j++)  
      {  
              PictureBox   findPic   =   (PictureBox)this.picList[i*j];  
              findPic.Image   =   ImageTarrain[0];  
      }  
  }  
   
   
  Top

2 楼hxhbluestar(贺星河)回复于 2004-09-04 20:12:20 得分 0

更正一下上面的错误  
  int   k=0;  
  for(int   i=0;i<99;i++)  
  {  
      for(int   j=0;j<99;j++)  
      {  
              k++;  
              PictureBox   findPic   =   (PictureBox)this.picList[k];  
              findPic.Image   =   ImageTarrain[0];  
      }  
  }  
  不能用   i*j来计算索引Top

3 楼WithSmile2000(其实我是一个马甲)回复于 2004-09-04 21:00:02 得分 0

在   FormMain_Load()中添加一个Panel控件,假设为Panel1  
  并添加一个ArrayList   picList   =   new   ArrayList()存放这些PictureBox  
  ---------------------------------------------------------------------  
  但是,picList还是只存在于FormMain_Load()中,ProcessIniBMap中还是不能直接引用啊。Top

4 楼happyno7(夕丁)回复于 2004-09-04 21:21:22 得分 0

private   void   FormMain_Load(object   sender,   System.EventArgs   e)  
  {  
  PictureBox[,]   PicBoxFace   =   new   PictureBox[99,99];  
  .....  
  }  
  -------------------------------------  
  你的PicBoxFace   是FormMain_Load函数的局部变量,离开了FormMain_Load函数就不存在了。。。其它函数当然不能访问了。  
   
  try:  
   
  PictureBox[,]   PicBoxFace   =   new   PictureBox[99,99];  
  private   void   FormMain_Load(object   sender,   System.EventArgs   e)  
  {  
  for(int   i=0;i<intTileHNum;i++)  
      for(int   j=0;j<intTileVNum;j++)  
          PicBoxFace[i,j]   =   new   PictureBox();  
          PicBoxFace[i,j].ID   =   "PicBoxFace"+i+"X"+j;  
  }  
  .........  
   
  Top

5 楼WithSmile2000(其实我是一个马甲)回复于 2004-09-04 23:38:55 得分 0

谢谢楼上的,这样的方法能行,我已经试过拉,但是能通过ID访问吗?有类似中ASP.NET中的FindControl函数吗?  
  Top

6 楼noahart(八卦小子)回复于 2004-09-05 00:12:30 得分 0

ID是什么啊?  
  可以去掉   PicBoxFace[i,j].ID   =   "PicBoxFace"+i+"X"+j;  
   
  这样访问:  
  private   void   ProcessIniBMap()  
  {  
  IEnumerator   keys=PicBoxFace.GetEnumerator();  
  keys.MoveNext();  
  while(keys.Current!=null)  
  {  
                                  PictureBox   pic=(PictureBox)keys.Current;  
                                  pic.Image=this.imageList1.Images[0];//图片  
                keys.MoveNext();  
                    }  
                    //依次为picbox加图片  
  }Top

7 楼kissmett(雨岸一帆)回复于 2004-09-05 02:26:55 得分 0

WithSmile2000   (其实我是一个马甲)   :  
  PictureBox类哪有ID属性啊?  
  没有ID怎么谈通过ID查找?  
  PicBoxFace[i,j].ID   =   "PicBoxFace"+i+"X"+j;这一句能编译的过?Top

8 楼WithSmile2000(其实我是一个马甲)回复于 2004-09-06 10:23:15 得分 0

kissmett(雨岸一帆)   (   )  
  PicBoxFace[i,j].ID   =   "PicBoxFace"+i+"X"+j;这一句能编译的过?  
  ----------------------------------------------  
  不行的,我本来以为也像ASP.NET中的findcontrol一样可以通过ID访问,这样看来是不行的。  
   
   
  noahart(八卦小子)   (   )    
  ---------------------------------------------  
  假如我想有个只对特定序号的几个PicBoxFace进行图片显示,这样的方法不是十分繁复?C#中就不提供通过ID访问实例的函数?Top

相关问题

  • 求主细表主键id添加的存储过程
  • 如何在添加主表的记录时,子表自动添加与主表相关的字段.
  • 两个ListBox控件A、B,双击A中的某一条选中项时,将选中项添加到B里
  • 怎样在主窗口添加滚动条
  • 关于主程序前添加密码输入form
  • 我想实现自动添加 抄送 和 主题 !!!!!!!!
  • 在两个DBGRID中添加主从表的数据
  • D7下面的如何向MDI主窗体添加背景
  • 怎样在虚拟主机上添加字体?
  • 怎样通过API为MDI主窗口或其子窗口添加主菜单?

关键词

  • picboxface
  • 过程
  • picturebox

得分解答快速导航

  • 帖主:WithSmile2000

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo