C#如何从Form1中的TextBox中获取文本并在Form2中设置 [关闭]。

问题描述 投票:-2回答:5

我想做一个名为 "设置 "的表单,在这个表单中你可以设置你的名字。我想在用户设置了自己的名字后,在Form1中会有一个标签,上面写着 "欢迎光临 "+在Form2(设置表格)中设置的名字。

c# winforms visual-studio-2019
5个回答
1
投票

在form2中设置新的属性Name

public string Name {get; set;}

在Form1中,你就可以调用这个属性。

Form2 form = new Form2();
form.ShowDialog();
string name = form.Name;
Textbox1.Text = name;

0
投票

首先将名称存储在一个变量 "Name "中。然后你可以像这样从Form1中访问这个变量作为Form2类的一个属性。

Form2 form = new Form2();
newform1variable = form.Name;

0
投票

你可以使用会话 Session["SomeText"]=txtboxID.Text;

检索会话

if(Session["SomeText"]!=null) { string strSessionValue=Session["SomeText"].ToString(); }。


0
投票

IMHO,仅仅使用Windows Forms开发Windows Forms应用程序会导致紧密耦合的意大利面条代码。

我们应该利用现代编程技术和模式来拥有松散耦合的表单、服务和数据。

Form1不需要知道Form2的内部结构,就能在Form2上改变用户名时显示用户名。这可以使用Event Broker技术来实现。这篇文章 在代码项目中向您展示了一个Event Broker的实现示例。

SettingsForm应该能够编辑Settings对象,并在改变设置时向Event Broker发布SettingsChanged事件。但是SettingsForm不应该将自己的控件暴露给外部。

其他表单应该能够使用依赖注入访问Settings对象,并订阅SettingsChanged事件,这样他们就可以在设置改变时更新他们的用户界面。

© www.soinside.com 2019 - 2024. All rights reserved.