传递参数以运行应用程序

问题描述

正在寻求有关此项目的帮助,我是新手,可能不了解所有术语,因此请与我联系。

项目包含多个 winforms 面板。一开始是我的仪表板,然后我还有其他人做特定的功能/特性。我需要做的是从来自第三方软件的外部 bat 文件调用单独的 winform(我无法控制它们)。

所以我想做的是这个 programname.exe 运行仪表板 programname.exe -a 在我的程序中运行不同的 winform。我不确定这叫什么来做到这一点。

任何帮助都会很棒,即使是去查找的地方。

namespace Versi_Send_Email
{
public partial class DashBoard : Form
{
    public DashBoard()
    {
        InitializeComponent();
    }

    private void DashBoard_Load(object sender,EventArgs e)
    {
        INIFile inif = new INIFile(@"c:\test\mailsettings.ini");
        sitetxtBox.Text = inif.Read("Properties","site");
        emailtotxtBox.Text = inif.Read("Properties","personto");
        cctotxtBox.Text = inif.Read("Properties","ccto");
        bcctextBox.Text = inif.Read("Properties","bcto");
    }

解决方法

这可以是 switch 语句或简单的 if-else 语句。在 WinForms 应用程序和主窗体加载事件中,您可以像这样读取命令行参数

string[] args = Environment.GetCommandLineArgs();
    
foreach(string arg in args){
    if (arg=="EmployeeForm")
    {
           EmployeeForm.ShowDialog()
      else if (arg=="Department")
           Department.ShowDialog()
    }
//after all arguments are read,you can simply kill the application and main window will never appear
Application.Current.Shutdown();
return;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...