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

【課題6-08】ランチメニュー ver 1.2

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

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

【課題6-06】で作成したDishクラスのリストを, リストボックスで表示するアプリを作成せよ.

画面イメージ
注意
  • この設問を解くには先に以下の課題を完了する必要がある.
  • GUI部品の名前やラベルの文言は必ず守ること(そうしないと採点ができないため).

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

画面項目表
名前種別機能初期値/文言備考
listBox1リストボックスDishクラスのリストの表示(備考を参照)あらかじめ用意されたDishクラスのリスト(後述)を表示するためのリストボックス.各要素を以下のフォーマットで表示する(「」は不要).

Name(Price円)

NameはそのDishクラスのインスタンスのNameプロパティ,PricePriceプロパティである.

最初はリストのゼロ番目の要素が選択されている状態にすること
(名前なし)ウィンドウ(メインウィンドウ)-プロジェクト作成時に自動作成されるメインウィンドウ.

【プロパティの指定】
・サイズは幅400×高さ300とする.

この設問には【課題6-06】で作った,飲食店のメニューに掲載された個々の料理についての情報を表すクラス Dishの定義が必要である. プロジェクトにクラスを追加1_のように【課題6-06】Dishクラスの定義を貼り付けて使用すること. なおこの設問に合わせてクラス定義を多少2変更してもよい

飲食店のメニューに掲載された個々の料理についての情報を表すクラス(Dish.cs)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Prac_6_08
{
    /*******************************/
    /*                             */
    /*           空欄1             */
    /*      Dishクラスの定義       */
    /*                             */
    /* ※ 【課題6-06】の定義を元に */
    /*    必要に応じて定義を       */
    /*    多少変更してもよい.     */
    /*                             */
    /*******************************/
}

なおMainWindowクラスは_のようにすること.

MainWindowクラスのテンプレート
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public partial class MainWindow : Window
{
    private ObservableCollection<Dish> dishes; // Dishのリスト

    public MainWindow()
    {
        InitializeComponent();

        dishes = new ObservableCollection<Dish>();

        // 初期要素の追加(変更してはならない)
        dishes.Add(new Dish(){ Name = "かけそば",   Price = 200 });
        dishes.Add(new Dish(){ Name = "もりそば",   Price = 250 });
        dishes.Add(new Dish(){ Name = "天玉",       Price = 300 });
        dishes.Add(new Dish(){ Name = "ざるうどん", Price = 280 });

        /**************************************************/
        /*                                                */
        /*                     空欄2                      */
        /*                                                */
        /**************************************************/
    }
    
}// end of class MainWindow

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

実行結果

ヒント

なし


  1. プロジェクトを右クリック→「追加」→クラスを選択し,クラス名を入力して「作成」ボタンを押す. ↩︎

  2. 【課題6-06】の時点で定義したプロパティは全て維持すること.そのうえで,追加でプロパティやメソッドを定義してもよい. ↩︎

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

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

Last updated on 2023-11-14
Published on 2023-11-14

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