当前位置: 首页 > 编程语言 > C#

在C#中将TextBox的文本传递给另一个窗体?

时间:2023-04-11 12:14:18 C#

将TextBox的文本传递给C#中的另一个窗体?我试过这个来传递信息:Form1frm1=newForm1();textBox1.Text=((TextBox)frm1.Controls["textBox1"]).Text;这是获取信息的表单的表单加载。但是没有文字。我该如何解决?Form2正在抓取Form1的文本并显示它。使用属性公开文本框的内容:classForm1{publicstringMyValue{get{returntextBox1.Text;然后在Form2中执行以下操作:varfrm1=newForm1();frm1.ShowDialog(这个);//确保Form1的这个实例可见textBox1.Text=frm1.MyValue;如果您希望frm1持续可见,则将frm1设为Form2的类变量,并在Form2的构造函数中调用.Show()。我发现在Windows应用程序中将文本值传递给其他文本框是一种简单且合乎逻辑的方式。以第二种形式编写代码:-创建*Form2*的参数Constructor.namespacePassingValue{publicpartialclassForm2:Form{publicForm2(stringmessage){InitializeComponent();Textbox1.Text=消息;}}}在第一个表单中编写代码:–在*第一个表单*中使用第二个表单的参数:-namespacePassValue{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidButton1_Click(objectsender,EventArgse){Form2f2=newForm2(Textbox.Text);f2.Show();}}}试试下面的代码,它对我有用...publicstaticstringsendtext="";privatevoidbutton1_Click(objectsender,EventArgse){sendtext=txt1.Text;Form2frm=newForm2();frm.Show();}在form2的表单加载事件中访问此数据privatevoidForm2_Load(objectsender,EventArgse){txt2.Text=Form1.sendtext;}请享受**100%working**取2个form,Form1和Form2,Form1包含textbox1和Frm1Btn1,Form2包含Frm2Btn1,现在打开form1,点击打开form2//FORM1encoding:privatevoidFrm1Btn1_Click(objectsender,EventArgse){Form2obj=newForm2();obj.showDialog();}//FORM2编码:privatevoidFrm2Btn1_Click(objectsender,EventArgse){Form1objj=newForm1();objj=(Form1)Application.OpenForms["Form1"];objj.textBox1.Text="萨利尔";对象=空;}如果是Web表单,MSDN建议在页面顶部请求文本,然后在page_loadif(PreviousPage!=null){TextBoxSourceTextBox=(TextBox)PreviousPage.FindControl("TextBox1");if(SourceTextBox!=null){Label1.Text=SourceTextBox.Text;确保将Form1的textBox1.Text属性初始化为您可以看到的实际字符串。我怀疑因为您使用的是Form1的默认实例,所以TextBox1.Text属性是String.Empty,这是默认值(为什么您没有得到任何看起来符合您期望的可见文本)。Form1//声明一个静态变量publicstaticstringtxtInput=string.empty;`//在任何事件上将textBox值设置为此变量txtInput=textBox1.Text;Form2//现在从form1的实例调用这个变量stringgetForm1Value=string.empty;getForm1Value=Form1.txtinput;您可以轻松地将文本框值存储到变量中,然后使用构造函数将其传递给另一个表单。例如stringtextboxvalue=textbox1.Text();form2win=newform2(textboxvalue);这里form2是您要发送值的表单,win是该表单的实例。在Windows应用程序中,只需转至另一个窗体设计器并将该工具声明为公共即可。您可以从任何形式访问该工具。这是在结果表单上:放置一个文本框。您必须单击表单,直到弹出代码编辑器。在表单加载时,您插入代码。代码:Form1frm1=newForm1();frm1.Show();textBox1.Text=((TextBox)frm1.Controls["textBox1"]).Text;在第一种形式上:放置一个文本框和一个按钮。按钮代码(在加载表单时,输入此代码):this.Close();Inform1:hotcoffeePasstextboxprivatevoidbutton15_Click(objectsender,EventArgse)//获取信用卡上的项目{this.Hide();hotcoffepaymentp=newotcoffepayment(richTextBox2.Text);//传递form1文本框p.Show();}在form2中:hotcoffepaymentpublichotcoffepayment(stringstrValue){InitializeComponent();textBox1.Text=strValue;//herementiontheform2textboxname}您必须将文本框的修饰符属性设置为“public”,以便从另一个表单获取其值对我来说,最简单的方法是:将文本框修饰符属性更改为民众;你在哪里打开你的第二个表单,像这样打开:frm.Show(this);在你的Form2中,无论你想要文本,只要做:varfrm=this.Owner;varctl=frm.Controls.Find("textboxOnform1",true).FirstOrDefault()作为控件;TextBoxTxt=(TextBox)ctl;//然后就可以使用了textboxt1.Text=Txt.Text;你可以做相反的事情——用同样的方式发回文本。Form1类Form1{publicSystem.Windows.Forms.TextBoxtextBox1;//我们需要将其设为publicTextboxprivateSystem.Windows.Forms.Buttonbutton1;}在Form2按钮点击或任何其他事件上使用Form2privatevoidbutton1_Click(objectsender,EventArgse){Form1_form1=newForm1();this._form2TextBox.Text=_form1.textBox1.Text;}详情请访问MSDN以上是C#学习教程:将TextBox的文本传递给C#中的另一种形式?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢