如何初始化选项卡的项目

本文关键字:项目 选项 初始化 | 更新日期: 2023-09-27 18:25:31

我有一个表单,上面有两个选项卡。我可以选择初始化后查看的选项卡,每次初始化tab2后我都需要一些初始代码:

public partial class SetupComponent : Form
{
    public SetupComponent(bool tab2)
    {
        InitializeComponent();
        if (tab2)
        {
            this.tabControl1.SelectedTab = tabPage2;
        }
    }
    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {
        textBox1.SelectionStart = textBox1.Text.Length;
        textBox1.ScrollToCaret();
        textBox2.SelectionStart = textBox2.Text.Length;
        textBox2.Focus();
    }
}

如果我用tab2=false调用这个类,然后单击tab2,就会调用tabControl1_SelectedIndexChanged

但是,如果我在SetupComponent期间选择选项卡2=true,我就不可能执行该代码。我找到的所有TabControl1_Events都太早了,而且我找不到匹配的TabPage2_Event。

我该怎么办?

如何初始化选项卡的项目

我使用Paint_Event:解决了这个问题

    bool activated = false;
    private void tabPage2_Paint(object sender, PaintEventArgs e)
    {
        if (!activated)
        {
            tabControl1_SelectedIndexChanged(null, null);
            activated = true;
        }
    }

我使用这个变量是因为Paint_Event被调用了很多次。