簡體   English   中英

使用 Windows 形式的命令行參數

[英]Command line arguments using in Windows form

我有 C# Windows 表單應用程序,我做了很多復選框,並將它們寫入和讀取到名為test.json JSON 格式文件。 現在我想將我的 test.json 與 program.exe 一起使用,這樣我的 program.exe 就會像 test.json 中所寫的那樣選中復選框。 所以我創建了Load event handler並想使用我的GetCommandLineArgs()

private void Form1_Load(object sender, EventArgs e)
{
    string[] args = Environment.GetCommandLineArgs();            
}

我知道我有 2 個參數。 [0] - program.exe[1] - test.json 需要一些想法如何使它工作。

我的問題是:

如何制作 2 個元素的 args 列表。 其中 0 是 program.exe,1 是 test.json。 以及當可能沒有參數或只有一個參數時如何使用 args.length

如何制作 2 個元素的 args 列表。 其中 0 是 program.exe,1 是 test.json

為此,您可以通過打開項目屬性窗口並導航到“調試”選項卡來從 Visual Studio 中進行調試,從那里您可以指定所需的命令行參數,如下所示:

輸入用於調試的命令行參數

您可以使用Environment.GetCommandLineArgs() ,我認為這有點奇怪。 它為您提供當前正在運行的可執行文件名稱。 所以在你的情況下,你最終會得到你所要求的。

[0] - program.exe and [1] - test.json

當可能沒有參數或只有一個參數時,如何使用 args.Length。

這很簡單, Environment.GetCommandLineArgs()返回一個string[] 檢查所需的長度並相應地處理它。

var commandLineArgs = Environment.GetCommandLineArgs();
if (commandLineArgs.Length > 0)
{
    // Do something magical...
}
else
{
    // Nothing was passed in...
}

像這樣的東西:

var cmdArgs = Environment.GetCommandLineArgs();

if (cmdArgs.Length < 2) 
{
    MessageBox.Show("No JSON file specified!");
}

var jsonFilename = cmdArgs[1];

如果您進行更復雜的命令行參數解析,我建議使用像這樣的現有庫。

更新:

您可以在此處附加事件處理程序(或雙擊創建一個新的事件處理程序):

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM