现在建了一个player类,在里面的一个方法里面想实现对窗体的控制,例如打开某张picture box啊之类的。如果我把那段代码(例如pbcat.image=pbdog.image)写在form1里面窗体会给执行,但是写在player类里面的话就没有反应了。。请高手指教

解决方案 »

  1.   

    form1 是继承 窗体类的。。你写的player类继承窗体类吗?
      

  2.   

    是啊,我写的是player:form1 了呀,里面可以使用它的窗体,但是就是控制不了窗体的控件~~~
      

  3.   

     public class player:Form1
        {
            public int pai;
            public Form1 fm1=new Form1();
                public player(int n)
            {
                this.pai = n;
            }
          
            public virtual void pick(Random choupai)
            {
                fm1.pbpaimian11.Visible = true;
                fm1.pbpaimian11.Image = fm1.pb9.Image;//在这里控制FOMR1窗体
                
            }
    以下是FORM1的代码
    public partial FORM1:FORM
             static player wanjia=new player(0);
                private void btnDEAL_Click(object sender, EventArgs e)
             {
                wanjia.pick(choupai);//这里想调用player类里的pick方法,但是窗体没反应          }
      

  4.   

    public class player:Form1
        {
            public int pai;
                      public player(int n)
            {
                this.pai = n;
            }
         
            public virtual void pick(Random choupai)
            {
    //把pb9、pbpaimian11改成protected
                base.pbpaimian11.Visible = true;
                base.pbpaimian11.Image = pb9.Image;//在这里控制FOMR1窗体
               
            }
    以下是FORM1的代码
    public partial FORM1:FORM
            static player wanjia=new player(0);
                private void btnDEAL_Click(object sender, EventArgs e)
            {
                wanjia.pick(choupai);//这里想调用player类里的pick方法,但是窗体没反应          }
      

  5.   

    你要把你的窗体传递要Player中。看起来好混乱,到底他们的逻辑关系是什么?
      

  6.   

    public class player:Form1 
        { 
            public int pai; 
            public Form1 fm1;
            public Form1 fm1=new Form1(); 
                public player(int n,Form1 fm) //参数传入
            { 
                this.pai = n; 
                this.fm1 = fm;
            } 
          
            public virtual void pick(Random choupai) 
            { 
                fm1.pbpaimian11.Visible = true; 
                fm1.pbpaimian11.Image = fm1.pb9.Image;//在这里控制FOMR1窗体 
                
            } 
    }