日期:2014-05-20  浏览次数:21087 次

在另一个类中改变主窗口的Label.Text属性的问题
大家好!我刚学C#,有个小问题想请教下各位。问题如标题,我想在Palette.cs类中改变主窗体FrmTetris.cs中Label.Text的属性,但却修改不成功,希望各位帮帮忙,先谢谢了!两个类的部分代码如下:

FrmTetris.cs类中的关键代码:
p = new Palette(paletteWidth, paletteHeight, rectPix, paletteColor, Graphics.FromHwnd(pbRun.Handle), Graphics.FromHwnd(lblReady.Handle),this);


Palette.cs类中的关键代码:
class Palette
  {
  private int _width = 15;//画板宽度
  private int _height = 25;//画板高度
  private Color[,] coorArr;//固定数组
  private Color disapperColor;//背景色
  private Graphics gpPaltte;//活动画板
  private Graphics gpReady;//下一个样式画板
  private BlockGroup bGroup;//生产机
  private Block runBlock;//正在活动
  private Block readyBlock;//下一个
  private int rectPix;//单元格像素
  FrmTetris f;

public Palette(int x,int y,int pix,Color dColor,Graphics gp,Graphics gr,FrmTetris f1)
  {
   
  _width = x;
  _height = y;
  coorArr = new Color[_width,_height];
  disapperColor = dColor;
  gpPaltte = gp;
  gpReady = gr;
  rectPix = pix;
  f = f1;
}


 public void CheckAndOverBlock()//检查转块是否到底
{
//省去部分代码
CheckAndDelFullRow() ;
}


 private void CheckAndDelFullRow() //检查并删除满行
  {
//省去部分代码
Fen();
}



public void Fen()//加分
  {
   
  string score = f.t_score.Text;
  int fen = Convert.ToInt32(score) + 50;
  f.t_score.Text = Convert.ToString(fen);
  }


------解决方案--------------------
我也想知道!!