プログラミング演習Ⅲ(2023)

【課題7-04】カウントアプリ ver 2.3

プロジェクトタイプC# WPFアプリケーション
プロジェクト名Prac_7_04
ソリューション名PET7
ターゲットフレームワーク.NET 6.0 (長期的なサポート)

※ 「WPFアプリ(.NET Framework)」ではないので注意せよ!

【課題4-03】と同じ,クリックすると「〇回目!」という 内容のメッセージボックスを表示するボタンを二つ備えるアプリを作成せよ.

この設問では【課題4-03】とは異なり,_に示すように 各部品をGridを使って配置すること(後述).

画面イメージ

レイアウトは_のよう1行2列のレイアウトにすること(ヒントも参照せよ).

レイアウト
注意
  • GUI部品の名前やラベルの文言は必ず守ること(そうしないと採点ができないため).
  • この設問では ツールボックスを使わずに XAMLファイルを直接編集してウィンドウの定義を作成すること.

このGUIアプリは_に示す部品を備える.

画面項目表
名前種別機能初期値/文言備考
button1ボタン「カウントA」ボタンカウントAメッセージボックス表示ボタン - その1.
クリックすると以下の設定でメッセージボックスを表示する.

・メッセージ→「回数A回目!
・タイトル→カウントA
・ボタン構成→OKボタンのみ
・アイコン→

回数Aは,この button1を押した回数 である.最初は1回目としてカウントする.

【プロパティの指定】
Marginプロパティに3 3 3 3を指定すること.
button2ボタン「カウントB」ボタンカウントBメッセージボックス表示ボタン - その2.
クリックすると以下の設定でメッセージボックスを表示する.

・メッセージ→「回数B回目!
・タイトル→カウントB
・ボタン構成→OKボタンのみ
・アイコン→

回数Bは,この button2を押した回数 である.最初は1回目としてカウントする.

【プロパティの指定】
Marginプロパティに3 3 3 3を指定すること.
(名前なし)ウィンドウ(メインウィンドウ)ABカウントプロジェクト作成時に自動作成されるメインウィンドウ.

【プロパティの指定】
・サイズは幅400×高さ300とする.
背景色はデフォルトの白以外に設定する
・左記の「初期値/文言」の列とおり文言,つまりタイトルを指定する.

正しく実装できた場合,実行結果は_に示すような挙動となる12

実行結果

ヒント

  • この設問ではツールボックスを使わずにXAMLファイルを直接編集してウィンドウの定義を作成すること.
    • ツールボックスから部品をドラッグ&ドロップで配置すると,余計な設定が行われてしまい正しく画面を作ることができない.
    • 以下のテンプレートも参考にすること.
MainWindow.xamlのテンプレート

_は,メインウィンドウのXAMLファイルのテンプレートである. ただし,あらかじめ設定しているのは各部品の名前と配置のみであり, ウィンドウサイズ,ウィンドウタイトル,グリッドの定義,イベントハンドラに関しては一切設定していない. そのため必要な部分は各自で書き換える必要がある

MainWindow.xamlのテンプレート
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<Window x:Class="Prac_7_04.MainWindow"
        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:Prac_7_04"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>

        <!-- //////////////////// グリッドの定義: ココカラ //////////////////// -->

        <Grid.ColumnDefinitions>
            <!-- ****************************** -->
            <!-- *                            * -->
            <!-- *            空欄            * -->
            <!-- *     Grid の列の設定        * -->
            <!-- *                            * -->
            <!-- ****************************** -->
        </Grid.ColumnDefinitions>

        <!-- //////////////////// グリッドの定義: ココマデ //////////////////// -->


        <!-- ////////////////////// 部品の定義: ココカラ ////////////////////// -->

        <!-- 部品 button1,0列目に配置  -->
        <Button x:Name="button1" Grid.Column="0" Content="カウントA" Margin="3 3 3 3" />

        <!-- 部品 button2,1列目に配置  -->
        <Button x:Name="button2" Grid.Column="1" Content="カウントB" Margin="3 3 3 3" />

        <!-- ////////////////////// 部品の定義: ココマデ ////////////////////// -->

    </Grid>
</Window>
MainWindow.xamlのテンプレート : 閉じる

  1. Apple社の都合により,iPhone,iPadなどのデバイスでは動画の再生はできません(Apple社はスマートフォン/タブレット製品で,意図的?にVPxやAV1コーデックのサポートを遅らせているため.参考1参考2). ↩︎

  2. Microsoft Edge で動画を閲覧するためには,AV1 Extensionをインストールする必要があります. ↩︎

Last updated on 2023-11-22
Published on 2023-11-22

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.