C#学习教程:如果窗体名称作为参数传递,如何在方法中打开窗体基于参数的形式。基本上,要使其工作:使用(QuotesnewQte=newQuotes()){newQte.ShowDialog();}通过替换:用传递的参数引用,例如FormToOpen。这可能吗?可以使用“工厂方法”来做到这一点。您可以像这样定义FormToOpencreateForm()(为清楚起见,我将其重命名为createForm()):Func因此代码如下所示:privatevoidMakeAndDisplayForm(Func您可以这样称呼它:MakeAndDisplayForm(()=>newMyForm());MyForm是您希望MakeAndDisplayForm()创建的表单类型。做这种事情很常见;通常将创建者函数传递给类的构造函数。然后类使用创建者函数来创建它稍后可以使用的东西不知道它们是如何创建的。这是依赖注入的一种形式。(免责声明:为简洁起见,省略了所有错误检查)创建一个方法,根据参数创建要显示的表单:publicstaticFormCreateAppropriateForm(intformToOpen){switch(formToOpen){case0:returnnewQuotes();case1:returnnewCitations();case2:returnnewReferences();default:thrownewArgumentException("Invalidparametervalue.");}}Quotes、Citations和References将是您的表单类,派生自Form。然后,您可以在要显示表单时调用该方法:using(Formform=CreateAppropriateForm(2)){form.ShowDialog();这里显示了一个值为2的示例——但您可以自由插入任何其他表达式,这些表达式产生可用于表单选择方法的值。当然,如果适合您的应用程序,您也可以以更有意义的方式声明formToOpen。例如,您可以将其声明为自定义枚举类型,其中每个枚举值代表一种特定形式。以上就是C#学习教程:如果把它的名字作为参数传入,如何打开方法中的表单分享的全部内容,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——本文来自网络合集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
