Windows窗体选项卡页面:从命令行启动不同选项卡上的窗体

本文关键字:选项 窗体 启动 Windows 命令行 | 更新日期: 2023-09-27 18:15:33

我有一个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.??? );
        }
    }

Windows窗体选项卡页面:从命令行启动不同选项卡上的窗体

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

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;
    }
}

既然你在谈论制表符,我猜你有一个Tabcontrol,那么你为什么不设置你想在你的表单的Load()事件的制表页?

 private void Form_Load(object sender, EventArgs e)
 {
   this.tabControl.SelectedIndex = YourIndex;
 }