Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
別のタブに移動したときに、中のコントロールの配置を変えたい
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30646#CommentId84692
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
わたなべ
 (学生)
投稿日時
2021/9/23 16:18:45
いつもお世話になっております。
今現在、ボタンを押すと違うタブページに移動するというプログラムを作成しています。
また、タブページ1つ1つには、ボタンが4つ(うち1つはタブページを移動させるボタン)並んでおり、ページを1つ移動するごとに、中のボタンが切り替わるという処理をさせたいです
(例えば、タブページ1にはbutton1,2,3,5が並んでおり、button5を押すとタブページ2に移動。タブページ2には、button2,3,4,5が並ぶ。タブページ3も同様の処理を行い、button3,4,1,5が並ぶ。タブページは4まで)
今のところ書いたプログラムは以下となります。
Public Class Form1
Dim count As Integer
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
count += 1
If count <= 3 Then
Select Case count
Case 1
TabPage2.Controls.Add(Button2)
TabPage2.Controls.Add(Button3)
TabPage2.Controls.Add(Button4)
TabPage2.Controls.Add(Button5)
TabControl1.SelectedTab = TabPage2
Case 2
TabPage3.Controls.Add(Button3)
TabPage3.Controls.Add(Button4)
TabPage3.Controls.Add(Button1)
TabPage3.Controls.Add(Button5)
TabControl1.SelectedTab = TabPage3
Case 3
TabPage4.Controls.Add(Button4)
TabPage4.Controls.Add(Button1)
TabPage4.Controls.Add(Button2)
TabPage4.Controls.Add(Button5)
TabControl1.SelectedTab = TabPage4
End Select
Else
count = 0
TabPage1.Controls.Add(Button1)
TabPage1.Controls.Add(Button2)
TabPage1.Controls.Add(Button3)
TabPage1.Controls.Add(Button5)
TabControl1.SelectedTab = TabPage1
End If
End Sub
End Class
上記プログラムは、一応目的の処理を行うことが出来ます。ただ、2つ困った点があります。
1つは、ボタンの場所が動かないことです。
Formのデザインで、タブページ1にbutton1,2,3,5を並べ、上記プログラムを行うと、タブページ2では、button1,2,3の場所にbutton2,3,4と配置されて欲しいのですが、button〇,2,3(〇は何も表示されていない)、といった形で表示されます。そうではなく、タブページ2では、button1,2,3の場所に2,3,4と表示され、タブページ3では、2,3,4の場所に3,4,1と表示してほしいです。
2つ目は、コードが冗長な気がします。
もう少し短く書けないかぁと眺めていて思います。
(2は自分自身が勝手に思っているだけなので、回答して頂かなくても大丈夫です)
1についての、何か良いアイデアがあればいただけないでしょうか。