0

このようなもの:

private void secondTabPageInTabControl_Click(object sender, System.EventArgs e)
        {
           this.myTreeView.Enable = false; 
        } //then I chose other tabpages and it becomes enable
4

2 に答える 2

1

代わりに、TabControlのSelectedIndexChangedイベントを使用してください。新しいタブが選択されたときに通知されます。次のようなコードを使用します。

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
        this.myTreeView.Enable = tabControl1.SelectedTab != tabPage2;
    }

またはインデックスで、読みにくい:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
        this.myTreeView.Enable = tabControl1.SelectedIndex != 1;
    }
于 2012-09-05T14:20:07.167 に答える
0

別の解決策ですが、あまりにも多くのタブページを使用すると、これが肥大化する可能性があることに注意してください。

    private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
    {
        UpdateUI(e.TabPageIndex);    
    }

    public void UpdateUI(int index)
    {
        switch (index)
        { 
            case 0:
                treeView1.Enabled = true;
                break;
            case 1:
                treeView1.Enabled = false;
                break;
            case 2:
                treeView1.Enabled = false;
                break;
            default:
                treeView1.Enabled = false;
                break;
        }
    }
于 2012-09-05T14:27:32.840 に答える