我想做一个名为 "设置 "的表单,在这个表单中你可以设置你的名字。我想在用户设置了自己的名字后,在Form1中会有一个标签,上面写着 "欢迎光临 "+在Form2(设置表格)中设置的名字。
在form2中设置新的属性Name
public string Name {get; set;}
在Form1中,你就可以调用这个属性。
Form2 form = new Form2();
form.ShowDialog();
string name = form.Name;
Textbox1.Text = name;
首先将名称存储在一个变量 "Name "中。然后你可以像这样从Form1中访问这个变量作为Form2类的一个属性。
Form2 form = new Form2();
newform1variable = form.Name;
你可以使用会话 Session["SomeText"]=txtboxID.Text;
检索会话
if(Session["SomeText"]!=null) { string strSessionValue=Session["SomeText"].ToString(); }。
IMHO,仅仅使用Windows Forms开发Windows Forms应用程序会导致紧密耦合的意大利面条代码。
我们应该利用现代编程技术和模式来拥有松散耦合的表单、服务和数据。
Form1不需要知道Form2的内部结构,就能在Form2上改变用户名时显示用户名。这可以使用Event Broker技术来实现。这篇文章 在代码项目中向您展示了一个Event Broker的实现示例。
SettingsForm应该能够编辑Settings对象,并在改变设置时向Event Broker发布SettingsChanged事件。但是SettingsForm不应该将自己的控件暴露给外部。
其他表单应该能够使用依赖注入访问Settings对象,并订阅SettingsChanged事件,这样他们就可以在设置改变时更新他们的用户界面。