C# 如何使用不同的变量多次调用表单-C-Winforms

C# 如何使用不同的变量多次调用表单-C-Winforms,c#,winforms,variables,dynamic,call,C#,Winforms,Variables,Dynamic,Call,我是C.Winform的新手。 我陷入了这样的境地:我想从5个不同的按钮事件中调用确认表。如火车票确认按钮、车辆预订按钮、航班预订按钮。 但是点击每个我想调用的按钮,比如说form2,但是每次都有不同的上下文! 比如当我从火车票上打电话时。用户信息和付款信息在表格上。 当我从flightUser信息和表单上的航班预订信息打电话时 我怎么做到的 你不需要上课。您可以创建类的实例,或者在类中调用方法。在这种情况下,您可能只想调用构造函数,根据上下文传递不同的参数: using (Form2 form

我是C.Winform的新手。 我陷入了这样的境地:我想从5个不同的按钮事件中调用确认表。如火车票确认按钮、车辆预订按钮、航班预订按钮。 但是点击每个我想调用的按钮,比如说form2,但是每次都有不同的上下文! 比如当我从火车票上打电话时。用户信息和付款信息在表格上。 当我从flightUser信息和表单上的航班预订信息打电话时


我怎么做到的

你不需要上课。您可以创建类的实例,或者在类中调用方法。在这种情况下,您可能只想调用构造函数,根据上下文传递不同的参数:

using (Form2 form2 = new Form2(userInfo, flightBookingInfo))
{
    form2.ShowDialog();
}

或者你需要做的任何事情,当然。。。这只是一个猜测。

老实说,在您的编程技能水平的这个阶段,我建议您为每种确认创建单独的表单。当然有很多方法可以重复使用一个表单来完成类似的事情,但是要做到这一点可能比你目前的技能水平要高级一些

有一个叫做单一责任原则的概念,它说任何物体只应该做一件事。虽然可以将SRP融入到这个场景中,就像我说的,它需要比你现在可能拥有的更多关于事物如何工作的知识,但我说这只是基于你表达问题的方式


保持简单,制作一份飞行确认表和一份火车确认表。也许您可以在它们之间共享一些共同的代码,并从一个共同的祖先派生。而且,随着技能的提高,您可以研究重构和简化系统的方法。

您好,jon,谢谢您的回复。明白了:哇!谢谢:但我对可重用性很好奇。@user656929-我理解,但如果你不小心,很容易造成无法维护的混乱。将每个表单分开将使YRU代码在短期内更易于管理和维护。随着您知识的增长,您可以开始寻找使代码更加可重用的方法。谢谢。我会注意您的话: