日期:2014-05-19  浏览次数:20858 次

帮我看看这个委托哪里出问题?
ppc下开发。窗口login   里有个进度条,想在类1中调用这个进度条
public   delegate   void   dgpross(int   dq,int   max);//定义委托
public   static   void   pross(int   d,   int   z)
                {
                        login   fg   =   new   login();
                        fg.pBar1.Minimum   =   0;
                        fg.pBar1.Maximum   =   z;
                        if   (fg.pBar1.Value   <=   fg.pBar1.Maximum)
                        {
                                fg.pBar1.Value   =   d;
                        }
                }

类1   中a是socket当前接收到的字节数,调用委托:

if   (a   <   100)
        {
            login.dgpross   d1   =new   login.dgpross(login.pross);
            d1(a,   100);
          }

现在进度条没有反映!大家帮我看看哪里出问题了。

------解决方案--------------------
建议你设个断点追踪一下代码是否有执行委托....
------解决方案--------------------
public delegate void dgpross(int dq,int max);//定义委托
public void pross(int d, int z)
{
if (fg.InvokeRequired)
{
fg.Invoke(new dgpross(pross), new object[] { d,z});
}
else
{
fg.pBar1.Minimum = 0;
fg.pBar1.Maximum = z;
……

}
}