Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# windows窗体选项卡式页面:从命令行在不同选项卡上启动窗体_C#_Winforms - Fatal编程技术网

C# windows窗体选项卡式页面:从命令行在不同选项卡上启动窗体

C# windows窗体选项卡式页面:从命令行在不同选项卡上启动窗体,c#,winforms,C#,Winforms,我有一个windows窗体,我想从命令行的不同选项卡页开始。 这是因为该表单可以由time/cron服务在 用户指定 如何使表单应用程序上下文转到非默认的第一个选项卡 [STAThread] static void Main (string[] args) { Debug.WriteLine("Environment Args= {0}", args.Count()); for (int i=0; i < args.Count();

我有一个windows窗体,我想从命令行的不同选项卡页开始。 这是因为该表单可以由time/cron服务在 用户指定

如何使表单应用程序上下文转到非默认的第一个选项卡

    [STAThread]
    static void Main (string[] args)
    {
        Debug.WriteLine("Environment Args= {0}", args.Count());
        for (int i=0; i < args.Count(); i++)
        {
            Debug.WriteLine(String.Format("{0}:{1}", i, args[i]));
        }
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form myForm = new DailyDirectories();
        if (args.Count() > 0)
        {
            Application.Run(myForm.??? );
        }
    }

既然您谈论的是选项卡,我想您有一个Tabcontrol,那么为什么不在表单的加载事件中设置所需的选项卡页面呢

您可以尝试向表单类传递参数,甚至设置属性

在表单类中,您必须添加/更改源

class DailyDirectories ...
{
    /// add constructor or change default constructor
    pubic DailyDirectories(int tabStartIndex)
    {
       InitializeComponents();
       this.tabControl.SelectedIndex = tabStartIndex;
    }

}

测试,工作!获取选项卡页的索引似乎有点棘手。它与选项卡索引不同,并且使其可见,而不是使其处于活动状态。排序似乎取决于它是如何创建的,而不是现在您想要向用户排序选项卡。最后,我想重新调整标签,使最常用的顶部标签首先在左边。感谢您的见解。无需运行或初始化以获取参数。环境似乎随处可见。我喜欢load属性。了解事件如何在代码中渗透意味着不需要编写太多代码。
Form myForm = null;
if (args.Count() > 0)
{
     // in case args[0] contains the start index for your tabControl
     int tabStartIndex = int.Parse(args[0]);
     myForm = new DailyDirectories(tabStartIndex);          
     Application.Run(myForm);
} else // e.g. start form without index
class DailyDirectories ...
{
    /// add constructor or change default constructor
    pubic DailyDirectories(int tabStartIndex)
    {
       InitializeComponents();
       this.tabControl.SelectedIndex = tabStartIndex;
    }

}