web-dev-qa-db-ja.com

TabPageクリックイベント

タブコントロールでクリックされたタブページに基づいて、イベントを自動的にトリガーしようとしています。

フォームのデザインモードで、タブをクリックすると、プロパティボックスに、選択されているタブSystem.Windows.Forms.TabControlが表示されます。ただし、プロパティのタブではなく、実際のページをクリックして、ページの名前に変更する必要があります。 TaskListPage System.Windows.Forms.TabPage。

私のタブコントロールはタブと呼ばれ、タブオプションに基づいてメッセージを表示するはずの以下のコードを使用してテストしようとしました。

 private void Tabs_SelectedIndexChanged(object sender, EventArgs e)

        {
            if (Tabs.SelectedTab == TaskListPage)
            {
                MessageBox.Show("TASK LIST PAGE");
            }
            else if (Tabs.SelectedTab == SchedulePage)
            {
                MessageBox.Show("SCHEDULE PAGE");
            }
        }

上記のコードをテストしても、何も起こりません。

特定のタブがクリックされたときにイベントを機能させるための助けがあれば大歓迎です!

ありがとうございました

12
Rob

配線されていないようです:

public Form1() {
  InitializeComponent();    
  Tabs.SelectedIndexChanged += new EventHandler(Tabs_SelectedIndexChanged);
}

この情報を提供するイベントは他にもあります:SelectedおよびSelecting

void Tabs_Selected(object sender, TabControlEventArgs e) {
  if (e.TabPage == TaskListPage) {
    // etc
  }
}
18
LarsTech

この最初の部分は

    public Form1()
    {
// This is near the top of the form 1 code in form1.cs

        InitializeComponent();
        tabControl1.SelectedIndexChanged += new EventHandler(TabControl1_SelectedIndexChanged);
    }

次に、通常のコードの下で、タブページがクリックされた後にどのコントロールにフォーカスを置くかを指定します。私のワードプロセッサでは、リッチテキストボックスとタブコントロールを使用してmswordリボンをシミュレートしました。私の場合、リッチテキストコントロールはタブページにありません。私のタブページは、フォームの上部の1インチまたは2インチをカバーしているためです。

private void TabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {

        richTextBox1.Focus();
    }

これは私が私のワープロと呼んでいるものです。それを使用したい人のためにここにあります。 ラリーの日記

0
Larryrl
private void tabControl1_Click(object sender, EventArgs e)
        {
            if (tabControl1.SelectedTab.Text =="All")
            {
                MessageBox.Show("All");
            }
            else
                MessageBox.Show("hello world");

        }
    }
Try This It should be work
0
digisoft