では、Windows Form
tabControl1 を使用しているときに、tabPage1 のボタンをクリックして、あるタブから別のタブ (つまり、tabPage1 から tabPage2) に切り替える方法を示します。
tabPage2.Show();
tabControl1.SelectedIndex = tabPage2;
などがありますが、o / pは提供していません...助けてください
TabControl.SelectedTabプロパティを使用してみてください:
現在選択されているタブページを取得または設定します。
上記のトピックには、次のコメントもあります。
タブページを現在のタブページにするには、タブページがTabPagesコレクションに含まれている必要があります。
あなたの場合、これはうまくいくはずです:
//somewhere in your code, you have to add first the TabPage to the TabControl
tabControl1.TabPages.Add(tabPage2);
tabControl1.SelectedTab = tabPage2;
[アップデート]
button1_Click
それでも機能しない場合は、メソッドをイベントハンドラーとして関連付けていない可能性がありますbutton1
。また、フォームの別のコントロールコンテナまたはフォーム自体にコントロールを作成し、それを切り取ってコントロールに貼り付けClick
た可能性がさらに高くなります。button1
tabPage1
これにより、イベントハンドラーが削除されます。
button1_Click
メソッドをbutton1
のClick
イベントハンドラーとして再割り当てし、SelectedTab
プロパティを使用していることを確認してください(またはSelectedIndex
、この質問の他の回答やコメントに示されているように)。
同様の問題への参照は次のとおりです。切り取りと貼り付けは、失われたイベントハンドラーを制御します。
このコードを試してください:
tabControl1.SelectedPage = tabpage1;
TabControl.SelectedIndexプロパティが整数であることに注意してください。(他の回答が示唆するように、 SelectedTab プロパティを使用することもできます)
したがって、選択したいタブに設定します:
tabControl1.SelectedIndex = 1;
msdn コードに基づく完全なサンプルを次に示します (私は Windows を使用しておらず、ここで .NET をセットアップしていないため、テストされていないことに注意してください)。
using System.Drawing;
using System.Windows.Forms;
public class Form1 : Form
{
private TabControl tabControl1;
private TabPage tabPage1;
private TabPage tabPage2;
private Button btn;
private void MyTabs()
{
this.tabControl1 = new TabControl();
this.tabPage1 = new TabPage();
this.tabPage2 = new TabPage();
this.btn = new Button();
this.tabControl1.Controls.AddRange(new Control[] {
this.tabPage1,
this.tabPage2});
this.tabControl1.Padding = new Point(15, 10);
this.tabControl1.Location = new Point(35, 25);
this.tabControl1.Size = new Size(220, 220);
this.btn.Location = new Point(10, 250);
// Selects THE FIRST tab initially..
this.tabControl1.SelectedIndex = 0;
this.tabPage1.Text = "myTabPage1";
this.tabPage1.TabIndex = 0;
this.tabPage2.Text = "myTabPage2";
this.tabPage2.TabIndex = 1;
this.btn.Text = "Select myTabPage2";
this.btn.Click += new EventHandler(btn_click);
this.Size = new Size(400, 400);
this.Controls.AddRange(new Control[] {
this.tabControl1});
this.Controls.Add(btn);
}
public void btn_click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 1;
}
public Form1()
{
MyTabs();
}
static void Main()
{
Application.Run(new Form1());
}
}
this.tabControl1.SelectedTab = this.tabControl1.TabPages[1];
.