もくじ
はじめに
完成イメージ
プロジェクトを作成する
コントロールを配置する
イベントハンドラを設置する
イベントハンドラの実装~都道府県の辞書を作成する~
次回後編
はじめに
今回は、C#初学者である筆者が、学習内容の整理と復習の意味も込めWindows Webフォームを使った簡単なアプリケーションを作成していきます。
実際にアプリケーションを作りながらプログラムの仕組みや作り方を理解し、C#の基本的な文法を身に着けることを目的としています。
完成イメージ
作成するのはお天気アプリです。 選択した都道府県の現在の天気情報をウェブからから取得し、天気のアイコンを表示します。
プロジェクトを作成する
使用する環境はVisual Studio2022です。 新しいプロジェクトを作成し、テンプレートは「Windows フォームアプリケーション(.NET Framework)」(C#)を選択、プロジェクト名の入力と保存場所を選択します。
コントロールを配置する
プロジェクトを作成して表示されるFormに、ツールボックスから選んだコントロールをD&Dで配置していきます。
■ComboBox(都道府県を選択するためのコントロール)
プロパティウィンドウで「(Name)」を「areaBox」に変更します。
■PictureBox(天気アイコン(画像)を表示するためのコントロール)
プロパティウィンドウで「(Name)」を「weatherIcon」に変更し、「SizeMode」を「StretchImage」に設定します。
「SizeMode」を「StretchImage」に設定します。
■Label(ユーザーに都道府県を選択させる文言)
プロパティウィンドウの「Text」欄に「都道府県を選択」と入力します。
これですべてのコントロールが設置できたので一度実行してみます。
イベントハンドラを設置する
ComboBoxで都道府県を選択したときに天気情報を取得するためにComboBoxにイベントハンドラを追加します。
ComboBoxでアイテムが選択されるとSelectedIndexChangedというイベントが発生するので、このイベントにCitySelectedというイベントハンドラを追加します。ComboBoxのプロパティウィンドウのイベントタブで「SelectedIndexChanged」欄に「CitySelected」と入力しEnterを押すと、Form1.csにCitySelectedのイベントハンドラが追加されました。
イベントハンドラの実装~都道府県の辞書を作成する~
続いて、先ほど追加したイベントハンドラの中身を実装します。
今回は、都市コードを送るとその地域の天気情報を返してくれる、というサービスを予定しているので、都道府県名と都市コードの辞書を作りComboBoxに都道府県名を表示するプログラムを書きます。
都道府県の辞書はアプリ起動時の初期値としたいので、InitializeComponentメソッド内にDictionary型のcityNames変数をつくり、都道府県名と都市コードがペアになるデータを追加していきます。
foreach文でcityNames変数の都道府県名をひとつずつ取り出し、ComboBox(変数名areaBox)のItemsプロパティに追加しています。
ここで一度実行してみます。
ComboBoxをクリックすると都道府県名のリストが表示されました。
次回後編
次回、ウェブからデータを取得、解析するイベントハンドラを実装し、最後にアプリケーションの見た目を整えて完成です。