C#问题
class lis()
{
    textBox1.Text = "1111";
}
但是这个类不是在主程序的那个类里的,textBox控件不能使用,要怎么做??新手拜上~

解决方案 »

  1.   

    确实比较新的新手,textbox1是一个组件,需要创建过程的,你这样写肯定不行
      

  2.   

    class CallClass
    {
        public void CallMethod(lis p_lis,TextBox textBox1)
        {
             p_lis.TextControl = textBox1;
             p_lis.CalledMethod();
        }
    }class lis() 

        private TextBox textBox1 = null;
        public TextBox TextControl
        {
            set{textBox1 = value;}
        }    public void CalledMethod()
        {
           textBox1.Text = "1111"; 
        }
      

  3.   

    严重语法错误...
    你的意思是哪个?class lis  //类
    {
      
    }
    voud lis()  //方法

        textBox1.Text = "1111"; 
      

  4.   

    不是这个问题,
    class lis  //类 

    voud lis()  //方法 

        textBox1.Text = "1111"; 


    这样子,我想想赋值给textBox1,但textBox1不是在这里创建的
      

  5.   

    上面说的都不错,我加点 /// <summary>
            /// 不安全的托管代码,线程内访问窗体控件
            /// </summary>
            /// <param name="status"></param>
            private delegate void addStatusUnSafe(string status);
            public void addStatus(string status)
            {
                DateTime dt = System.DateTime.Now;
                string now = "[" + dt.ToShortDateString() + " " + dt.ToShortTimeString() + "]";
                status += now;
                if (status == "")
                {
                    return;
                }
                if (this.label_ConnString.InvokeRequired)
                {
                    addStatusUnSafe aus = new addStatusUnSafe(addStatus);
                    this.label_ConnString.Invoke(aus, new string[] { status });
                }
                else
                {
                    this.label_ConnString.Text = status;
                }
            }
      

  6.   

    textbox1是一个组件,需要创建过程的,你这样写肯定不行
    你要这样才可以:
    class CallClass
    {
        public void CallMethod(lis p_lis,TextBox textBox1)
        {
             p_lis.TextControl = textBox1;
             p_lis.CalledMethod();
        }
    }class lis() 

        private TextBox textBox1 = null;
        public TextBox TextControl
        {
            set{textBox1 = value;}
        }    public void CalledMethod()
        {
           textBox1.Text = "1111"; 
        }
      

  7.   

    using System.Windows.Forms;class Lis{
    private TextBox tbx = null;public Lis(TextBox t){
    if(tbx == null)
    {
    throw new AugumentNullException();
    }
    tbx = t;
    }public setText(string str)
    {
    tbx.Text = str;
    }
    }
      

  8.   

      private void Listen()
            {
                 
                try
                {
                    tcpl = new TcpListener(5656);//在5656端口新建一个TcpListener对象
                    tcpl.Start();
                 //  MessageBox .Show ("started listening..");                while (listenerRun)//开始监听
                    {
                       
                        Socket s = tcpl.AcceptSocket();
                        string remote = s.RemoteEndPoint.ToString();
                        Byte[] stream = new Byte[80];
                        int i = s.Receive(stream);//接受连接请求的字节流
                        string msg = "<" + remote + ">" + System.Text.Encoding.UTF8.GetString(stream);
                      MessageBox .Show (msg);//在控制台显示字符串
                      //textBox1.Text = msg;//我想问的是这里怎么解决?拜托了            
       }
                }
      

  9.   

    class lis() 

        textBox1.Text = "1111";    public Textbox  SettextBox()
            {
                return this.textBox1;
            }
    } 在主程序里调用一下就可以了。
      

  10.   

    一个很好的办法,构造函数,在form创建的时候调用,对他赋值!
    构造一个带参数的构造函数,然后可以传值!直接初始化,要不然就是可以使用线程控制了,不过你是要在另一个过程控制窗体,必须用到委托,不建议这个方法!厄
      

  11.   

    如果是窗体主键
    有个简单的方法Control.CheckForIllegalCrossThreadCalls = false;
      

  12.   


    public partial class 主类 : Form
    {
        
        private  lis   mylis;
        public 主类()
        {
            InitializeComponent();
        }        
        private void button1_Click(object sender, EventArgs e)
        {                
            mylis= new lis();
            mylis.mySendtext += new lis.Sendtext(this.rettext);
            mylis.Show();
        }
        string rettext(string str)
        {
            textBox1.Text = str;
        }
    }
    public partial class lis : Form
    {
        public lis()
        {
            InitializeComponent();
        }
        public delegate void Sendtext(string str);
        public event Sendtext mySendtext;
        private void button1_Click(object sender, EventArgs e)
        {                
            mySendtext("1111");
        }}