winforms TabPage单击事件

5f0d552i  于 2023-05-29  发布在  其他
关注(0)|答案(3)|浏览(148)

我尝试根据在选项卡控件上单击的选项卡页面自动触发事件。
在表单的设计模式下,当我单击选项卡时,属性框显示TabsSystem.Windows.Forms.TabControl,无论选择哪个选项卡。但是,我必须点击实际的页面,而不是属性的标签才能更改为页面的名称。TaskListPage System. Windows. Forms. TabPage。
我的tabcontrol被称为标签,我试图测试它使用下面的代码,这是应该显示一个基于标签选项的消息。

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

当我测试上面的代码时,什么都没有发生。
任何帮助,让事件的工作时,一个特定的标签是点击将不胜感激!
谢谢

ffvjumwh

ffvjumwh1#

听起来你好像没把它连接起来:

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

还有其他事件也可以为您提供此信息:SelectedSelecting

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

wwodge7n2#

第一部分是

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

这就是我所谓的文字处理器。它是为任何想使用它的人准备的。Larry's Journal

q35jwt9p

q35jwt9p3#

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

试试这个应该是工作

相关问题