【问题标题】:How to call form several time but with diffrent variables!-C#-Winforms如何多次调用表单但使用不同的变量!-C#-Winforms
【发布时间】:2011-07-14 04:55:15
【问题描述】:

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


我是怎么做到的!

【问题讨论】:

    标签: c# winforms variables dynamic call


    【解决方案1】:

    您不会“调用”课程。你可以创建一个类的实例,或者调用一个类中的方法。听起来在这种情况下您可能只想调用构造函数,根据上下文传递不同的参数:

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

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

    【讨论】:

    • 你好乔恩感谢您的回复。明白了:)
    【解决方案2】:

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

    有一个概念叫做单一职责原则,它说任何对象都应该只做一件事。虽然可以将 SRP 纳入这种情况,但就像我说的那样,它需要比你现在可能拥有的更多关于事情如何运作的知识(我说这只是基于你提出问题的方式)。

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

    【讨论】:

    • 哇!谢谢 :) 但我对可重用性很好奇。
    • @user656929 - 我明白,但如果你不小心,很容易造成无法维护的混乱。将每个表单分开将使 yoru 代码在短期内更易于管理和维护。随着知识的增长,您可以开始寻找使代码更可重用的方法。
    • 谢谢。我会注意你的话:)
    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2020-05-17
    相关资源
    最近更新 更多