タイトル : Re^8: TabControlをTabStripのように使いたい 投稿日 : 2007/09/03(Mon) 18:03 投稿者 : 皐月
るしぇさん、ダンボさん、魔界の仮面弁士さんお返事ありがとうございます。 自分で中途半端に調べたままで再度質問をしてしまい、失礼しました。 あのような質問の仕方ではコメントを下さる方もわかりにくかったと思います。 > >> 皐月さん (No.6112) > > TabControlはTabStripと同じ用に使用することはできないのでしょうか? > > できますよ。 > そういうときには、子コントロールを TabPage の上に配置するのではなく、 > フォームに直接配置すれば良いかと思います。 > > > まずはデザイン時に、DataGridView をフォームに直接貼り付けてください。 > その DataGridView を選択後、右クリックして[最前面へ移動]を選択してから、 > DataGridView を TabControl に重なる位置まで移動させれば OK。 > 移動には矢印キーを使うか、DataGridView の Location プロパティを手動設定で。 魔界の仮面弁士さん、丁寧なお返事ありがとうございます。こちらの方法を新しくプロジェクトを立てて試してみたのですが、TabControlの子コントロールになってしまい上手くいきませんでした。 なので、 >Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles >Button1.Click > Dim F As New Form() > F.Text = "サンプル" > F.TopLevel = False > Me.Controls.Add(F) 'Me ではなく、Button1 や RichTextBox1 の上にも配置可能。 > F.Visible = True >End Sub のサンプルコードとるしぇさんの意見を参考にして Private Sub TabControl1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.Click TabPage1.Controls.Add(DataHeadGrid1) TabPage2.Controls.Add(DataHeadGrid1) TabPage3.Controls.Add(DataHeadGrid1) Call aa() End Sub としてみました。このコードではTabPage3にのみDataHeadGrid1がaddされほかのTabPageにはaddされませんでした。そこで、もう一度質問させて頂きたいのですが、TabControl1_Clickで呼び出されたTabPageを特定して入れる処理をしたいと思います。最初プロパティTabPagesの中のTagと言うプロパティに値を設定して、それでクリックされたTabPageを判断しようと考えたのですが、上手くいきませんでした。 ご教授お願い致します。 |