form1和form2,在form1中让form2中的richtextbox改变值,如richtextbox.appendtext("12312312");如何可以做到?可以吗?

解决方案 »

  1.   

    把那个控件写成public property
      

  2.   

    http://topic.csdn.net/t/20050212/19/3782093.html
      

  3.   

    首先要把From2的实例设为public static
    再把你要悠的控件设为public 
     这样的话应该可以
      

  4.   

    我是初学者,不知道对不对!~
    在form1里声明form2,把你要改的值通过声明的对象,传到form2的构造函数里,再在form2的构造函数里设置控件里的内容为接收的值!~
    form1::
      事件
    {
      
      form2 myform2 =new form2("123456789");
      myform2.show();
    }form2构造函数(string _text)
    {
      this.控件名.text=_text; 
    }
      

  5.   

    修改访问域,改为internal,或public
      

  6.   

    form2.richtextbox.text='.....'
    richtextbox改为public
      

  7.   

    你可以这样想:form1和form2是两个类。form2中的richtextbox是类form2的成员。要从一个类访问别一个类的成员,要怎样做?这不是归到最基本东西了吗?我想你一学C#就会这些了吧。自己试试吧。你不要想什么form,什么控件。
      

  8.   

    复杂点的, 用Eventnamespace TestApp
    {
    public delegate void RtbTextChangedEventHandler(object sender, RtbTextChangedEventArgs e);public class form1 : Form
    {
    public event RtbTextChangedEventHandler OnRtbTextChanged;public form1()
    {
    //To Initialize your form1
    }private void HandleRtbTextChanged(string msg)
    {
    if(this.OnRtbTextChanged != null)
    {
    RtbTextChangedEventArgs e = new RtbTextChangedEventArgs(msg);
    OnRtbTextChanged(this, e);
    }
    }//your other codes...}public class form2 : Form
    {
    private form1 _frm1;public form2(form1 frm)
    {
    this._frm1 = frm;
    this._frm1.OnRtbTextChanged += new RtbTextChangedEventHandler(HandleRichTextBoxTextChanged);//your other codes...
    }private void HandleRichTextBoxTextChanged(object sender, RtbTextChangedEventArgs e)
    {
    this.richTextBox1.AppendText(e.Text);
    }}public class RtbTextChangedEventArgs : EventArgs
    {
    private string _text;public RtbTextChangedEventArgs(string text)
    {
    _text = text;
    }public string Text
    {
    get{ return _text; }
    }
    }
    }
      

  9.   

    form2中, HandleRichTextBoxTextChanged改成这样:private delegate void UpdateHandler();private void HandleRichTextBoxTextChanged(object sender, RtbTextChangedEventArgs e)
    {
    UpdateHandler update = delegate()
    {
    this.richTextBox1.AppendText(e.Text);
    };this.Invoke(update);
    }
      

  10.   

    参见我的BOLG
    http://community.csdn.net/Expert/topic/5486/5486385.xml?temp=.1802484
    http://blog.csdn.net/yumanqing/archive/2006/10/13/1333110.aspx