如何在一个windows窗体中操纵另一个窗体中的控件? form1和form2,在form1中让form2中的richtextbox改变值,如richtextbox.appendtext("12312312");如何可以做到?可以吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把那个控件写成public property http://topic.csdn.net/t/20050212/19/3782093.html 首先要把From2的实例设为public static再把你要悠的控件设为public 这样的话应该可以 我是初学者,不知道对不对!~在form1里声明form2,把你要改的值通过声明的对象,传到form2的构造函数里,再在form2的构造函数里设置控件里的内容为接收的值!~form1:: 事件{ form2 myform2 =new form2("123456789"); myform2.show();}form2构造函数(string _text){ this.控件名.text=_text; } 修改访问域,改为internal,或public form2.richtextbox.text='.....'richtextbox改为public 你可以这样想:form1和form2是两个类。form2中的richtextbox是类form2的成员。要从一个类访问别一个类的成员,要怎样做?这不是归到最基本东西了吗?我想你一学C#就会这些了吧。自己试试吧。你不要想什么form,什么控件。 复杂点的, 用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; }}}} form2中, HandleRichTextBoxTextChanged改成这样:private delegate void UpdateHandler();private void HandleRichTextBoxTextChanged(object sender, RtbTextChangedEventArgs e){UpdateHandler update = delegate(){this.richTextBox1.AppendText(e.Text);};this.Invoke(update);} 参见我的BOLGhttp://community.csdn.net/Expert/topic/5486/5486385.xml?temp=.1802484http://blog.csdn.net/yumanqing/archive/2006/10/13/1333110.aspx c#数据库获取问题 线程中调用控件 VC++6.0中的代码如何转成C#的代码的问题 c#程序修复access数据库问题 .Net中如何将数字(表示金额)转换成大写的英文形式 高分求教:一.net系统的Excel导入功能的实现 求教 如何用WMI设置网关自动跃点计数? 有关托管资源和非托管资源释放的问题 Microsoft Posservice 用于clickonce, full trust 问题 C#中,如何在textBox1显示 整数值? 关于DotNetBar6.7.2.0的使用! 一个窗体的变量在关闭窗体后,如何传递到另一窗体?
再把你要悠的控件设为public
这样的话应该可以
在form1里声明form2,把你要改的值通过声明的对象,传到form2的构造函数里,再在form2的构造函数里设置控件里的内容为接收的值!~
form1::
事件
{
form2 myform2 =new form2("123456789");
myform2.show();
}form2构造函数(string _text)
{
this.控件名.text=_text;
}
richtextbox改为public
{
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; }
}
}
}
{
UpdateHandler update = delegate()
{
this.richTextBox1.AppendText(e.Text);
};this.Invoke(update);
}
http://community.csdn.net/Expert/topic/5486/5486385.xml?temp=.1802484
http://blog.csdn.net/yumanqing/archive/2006/10/13/1333110.aspx