VB のたまご

作成日: 2017/03/06, 更新日: 2017/03/06



MessageBox

    イメージ
  •  MessageBox は、ユーザーにシステムからのメッセージを伝えたり、意思選択を聞き出すためのコントロールです。 とりあえずどういう風に動くのか見てみましょう。 以下サンプルです。「MessageBoxWindow1」という画面で作成していますが、「MainWindow」に書いても構いません。

  • スポンサーリンク


    <Window x:Class="MessageBoxWindow1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:w04_NormalControls"
            mc:Ignorable="d"
            Title="MessageBoxWindow1" Height="300" Width="300">
    
        <Grid>
    
            <Button Content="メッセージボックスの表示" Margin="50" Click="Click" />
    
        </Grid>
        
    </Window>
    

    Public Class MessageBoxWindow1
    
        Private Sub Click(sender As Object, e As RoutedEventArgs)
    
            MessageBox.Show("Hello, WPF!")
    
        End Sub
    
    End Class
    

  •  ボタンを押すことで、メッセージボックスが表示されたと思います。 一般的には、情報、警告、エラー、質問の4パターンに分けて使います。

  • スポンサーリンク


  •  情報メッセージ

  • <Window x:Class="MessageBoxWindow2"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:w04_NormalControls"
            mc:Ignorable="d"
            Title="MessageBoxWindow2" Height="300" Width="300">
    
        <Grid>
    
            <Button Content="メッセージボックスの表示" Margin="50" Click="Click" />
    
        </Grid>
    
    </Window>
    

    Public Class MessageBoxWindow2
    
        Private Sub Click(sender As Object, e As RoutedEventArgs)
    
            ' 情報メッセージ
    
            Dim title = "情報"
            Dim message = "Hello, WPF!"
            Dim buttonType = MessageBoxButton.OK
            Dim messageImage = MessageBoxImage.Information
            Dim result = MessageBox.Show(message, title, buttonType, messageImage)
    
        End Sub
    
    End Class
    

  •  警告メッセージ

  • <Window x:Class="MessageBoxWindow3"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:w04_NormalControls"
            mc:Ignorable="d"
            Title="MessageBoxWindow3" Height="300" Width="300">
    
        <Grid>
    
            <Button Content="メッセージボックスの表示" Margin="50" Click="Click" />
    
        </Grid>
    
    </Window>
    

    Public Class MessageBoxWindow3
    
        Private Sub Click(sender As Object, e As RoutedEventArgs)
    
            ' 警告メッセージ
    
            Dim title = "警告"
            Dim message = "Hello, WPF!"
            Dim buttonType = MessageBoxButton.OK
            Dim messageImage = MessageBoxImage.Warning
            Dim result = MessageBox.Show(message, title, buttonType, messageImage)
    
        End Sub
    
    End Class
    

  •  エラーメッセージ

  • <Window x:Class="MessageBoxWindow4"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:w04_NormalControls"
            mc:Ignorable="d"
            Title="MessageBoxWindow4" Height="300" Width="300">
    
        <Grid>
    
            <Button Content="メッセージボックスの表示" Margin="50" Click="Click" />
    
        </Grid>
    
    </Window>
    

    Public Class MessageBoxWindow4
    
        Private Sub Click(sender As Object, e As RoutedEventArgs)
    
            ' エラーメッセージ
    
            Dim title = "エラー"
            Dim message = "Hello, WPF!"
            Dim buttonType = MessageBoxButton.OK
            Dim messageImage = MessageBoxImage.Error
            Dim result = MessageBox.Show(message, title, buttonType, messageImage)
    
        End Sub
    
    End Class
    

  •  確認メッセージ

  • <Window x:Class="MessageBoxWindow5"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:w04_NormalControls"
            mc:Ignorable="d"
            Title="MessageBoxWindow5" Height="300" Width="300">
    
        <StackPanel>
    
            <Button Content="メッセージボックスの表示" Margin="50" Click="Click" />
            <TextBlock Name="textblock1" />
    
        </StackPanel>
    
    </Window>
    

    Public Class MessageBoxWindow5
    
        Private Sub Click(sender As Object, e As RoutedEventArgs)
    
            ' 確認メッセージ
    
            Dim title = "確認"
            Dim message = "テキストファイルは変更されています。保存しますか?"
            Dim buttonType = MessageBoxButton.YesNo
            Dim messageImage = MessageBoxImage.Question
            Dim result = MessageBox.Show(message, title, buttonType, messageImage)
    
            Select Case result
                Case MessageBoxResult.Yes
                    Me.textblock1.Text = "「はい」を選択しました"
                Case MessageBoxResult.No
                    Me.textblock1.Text = "「いいえ」を選択しました"
            End Select
    
        End Sub
    
    End Class
    

  •  WinForms のメッセージボックスとほとんど同じですね。