我定义了一个类,想在里面的一个函数中调用Form1的label的refresh()方法重绘它,问题是调用以后没有效果……
请问一下怎么实现?能稍微举一下例子么?谢谢

解决方案 »

  1.   

    我不太明白你的意思不知道下面代码是否能够帮组你'
    调用代码namespace csdn
    {    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                mytry mt = new mytry();
                mt.funChangeButton((Button)sender);
               
            }
            
    类代码//一个自己建立的类
        public class mytry
        {
            public void funChangeButton(Button bt)
            {
                bt.Text = "yes";
            }
        }
      

  2.   

    楼主你的意思?
    调用Form1的label的refresh()方法重绘它?
    具体讲讲吧.
      

  3.   

    class Form1:Form
    {
       Label label = new Label();
       Helper helper = null;
       void Init()
       {
          helper = new Helper(this);
       }
    }
    public class Helper
    {
       private m_ctrlLabel = null;
       public Helper(/*Control*/ Label label){m_ctrlLabel = label;}
       private Helper(){}
       void RefreshLabel()
    {
      if(m_ctrlLabel != null)
         m_ctrlLabel.Refresh();
    }
    }
      

  4.   

    就是新创建一个类,然后在那个类里面有一个函数要调用窗体Form1里的label的refresh()方法
    我直接调用但是它死活不肯重绘,没办法~~
      

  5.   

    就是新创建一个类,然后在那个类里面有一个函数要调用窗体Form1里的label的refresh()方法 让Form1的label发生重绘
    我直接调用但是它死活不肯重绘,没办法~~
      

  6.   

    你得确认你是否已经将你的form1里面的label传递给了你的类去控制
    你可以如我上面的代码示例将一个lable当作参数传递给你的类,在你需要调用的地方将你的form1里面的lable传递过去,由于lable是引用类型他不会当作值类型来传递所以你在你的类
    中所做的操作会直接影响form1里的lable