C#学习教程:从form1上的一个文本框中获取数据到form2上的另一个文本框中当单击form1上的按钮时,我想从form2的文本框中获取文本。我在form1上使用:privatevoidbut_Click(objectsender,EventArgse){Form2f2=newForm2();txtonform1=f2.fo;}在form2上,我有这个方法从文本框中返回文本:publicstringfo{get{returntextBox1.Text;}设置{textBox1.Text=value;现在的问题是它返回null。我是c#的新手,有什么问题可以帮助我吗?您必须使用表单,否则每次都创建新实例:Form2f2=newForm2();privatevoidbut1_Click(objectsender,EventArgse){f2.fo=txtonform1.Text;}privatevoidbut2_Click(objectsender,EventArgse){MessageBox.Show(f2.fo);您正在此处创建新的表单实例:Form2f2=newForm2();并且您的fo属性返回这种新形式的textBox1,因此您的textBox1不包含任何文本,您得到null。我猜你正在显示Form1中的form2,如果它是正确的,只需在类级别定义一个Form2实例:publicpartialclassForm1:Form{Form2f2=newForm2();}当你想显示它使用这个:f2.Show(this);如果想立即改变TextBox的值,可以使用:txtonform1.Text=f2.fo;但为此,请确保更改form2中的textBox1.Text。您应该在form1中保留对已显示的form2的引用/然后使用相同的变量来访问该值。我不知道form2是如何创建和显示的,但假设它是通过某个按钮在form1上创建和显示的,那么form1类看起来像,privateFormf2=null;privatevoidbuttonShowForm2_Click(objectsender,EventArgse){if(f2==null)f2=newform2();f2.Show();}privatevoidbut_Click(objectsender,EventArgse){if(f2==null)//如果此表单尚未显示,则显示它以获取用户的输入buttonShowForm2_Click(null,null);否则txtonform1=f2.fo;第一个解决方案:1.)转到Form2并双击它。在代码中输入这个。publicForm2(stringsTEXT){InitializeComponent();textBox1.Text=sTEXT;}2.)转到Form1然后双击它。在代码中输入这个。//在Form1中的命令按钮上privatevoidbutton1_Click(objectsender,EventArgse){Form2sForm=newForm2(textBox1.Text);sForm.Show();}第二个解决方案:1.)转到Form1并双击它。在代码中输入这个。publicstringCaptionText{get{returntextBox1.Text;}set{textBox1.Text=value;}}注意:textbox1.text=sayre的值;2.)转到Form2并双击它。在代码中输入这个。以上就是C#学习教程:从form1上的一个文本框在form2上的另一个文本框中获取数据共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——//AtyourcommandbuttonInForm2privatevoidbutton1_Click(objectsender,EventArgse){Form1sForm1=newForm1();textBox1.Text=sForm1.CaptionText;}本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
