ここでは、C#のGUIのフレームワークであるWPFのサンプルプログラムを、ChatGPTの力を借りながら、作ったサンプルコードをまとめています。実行可能であることは確認していますが、WPF初学者の私がChatGPTと作っているので、ベストな方法ではないかもしれませんので、ご了承ください。

タブ切り替え

タブで画面を切り替えるサンプルです。TabControlという、各タブにあるボタンは別なボタンです。押すとメッセージがポップアップで表示されます。

これは、自分でもコードを修正したので、プロンプトは出さないでおきます。

<Window x:Class="WpfAppSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF App Sample" Height="350" Width="525">
    <TabControl>
        <TabItem Header="Page 1">
            <Grid>
                <Button x:Name="Button1" Content="Button on Page 1" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button1_Click"/>
            </Grid>
        </TabItem>
        <TabItem Header="Page 2">
            <Grid>
                <Button x:Name="Button2" Content="Button on Page 2" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button2_Click"/>
            </Grid>
        </TabItem>
        <TabItem Header="Page 3">
            <Grid>
                <Button x:Name="Button3" Content="Button on Page 3" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button3_Click"/>
            </Grid>
        </TabItem>
    </TabControl>
</Window>
using System.Windows;

namespace WpfAppSample
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Page1");
        }
        private void Button2_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Page2");
        }
        private void Button3_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Page3");
        }
    }
}

 

TabControl というモジュールでタブを作れるのですね。各ページにボタンなどをつけられて、tab で切り替えられます。

実行したときの画面はこちら。