連載:Windowsフォーム開発入門【Visual Studio 2010対応】 リモート・データ活用術〜SQL Server編〜 初音 玲2011/02/09 |
|
|
本稿では、Visual Studio 2010で「WinFormSQL」(VBの場合。C#の場合は「WinFormSQLCs」)という名前でWindowsフォーム・アプリケーションのプロジェクトを作成している。
本稿ではすべてのコードは説明しないので、(必要があれば)下記のリンクからサンプル・コードをダウンロードして参照してほしい。
■画面遷移を考える
それではまず、アプリケーションの画面遷移(例:起動→ログイン→作業画面などの流れ)を考えよう。
サンプルの画面遷移は次のように設計した。
図11 画面遷移 |
プログラムを起動すると、スプラッシュ・スクリーンが自動的に表示され、それからメイン画面であるタイトル一覧画面を表示する。
タイトル一覧画面が表示されると、同時にログイン画面が表示され、(そのログイン画面で)SQL Serverへのログインが成功した場合だけ、タイトル一覧画面を使えるようにする。
タイトル一覧画面では、編集したいタイトルを一覧から選択すると編集画面が開き、該当タイトルの情報を編集できる。
以下では、サンプル・アプリケーションの各画面を作成していく。
なお、C#ではいくつかのテンプレート(「スプラッシュ スクリーン」や「ログイン フォーム」など)が標準で用意されていない。本連載の第2回でこれらのC#向けのひな型コードを提供しているので、C#を使う場合はそのコードをダウンロードして活用してほしい。
■スプラッシュ・スクリーンを作成
スプラッシュ・スクリーン(図12)は、VB(Visual Basic)であれば「スプラッシュ スクリーン」テンプレートが用意されているが、C#にはテンプレートが用意されていない。本連載の第2回でC#でもスプラッシュ・スクリーンを実現しているので、そのとき作ったものを([ソリューション エクスプローラー]のプロジェクト項目の右クリック・メニューから表示できる)[既存項目の追加]ダイアログでプロジェクトに追加して利用する。
図12 スプラッシュ・スクリーンのUIデザイン |
スプラッシュ・スクリーンの表示は、VBならばプロジェクトのプロパティで設定できるが、C#の場合はMicrosoft.VisualBasicアセンブリを([ソリューション エクスプローラー]で)[参照設定]に追加してから、Program.csファイルを次のように書き換える。
|
|
リスト1 スプラッシュ・スクリーンを起動するコード例(C#) |
■ログイン画面を作成
ログイン画面(図13)もVBでは「ログイン フォーム」テンプレートが用意されているので、それを活用する。このテンプレートの内容については、本連載の第2回を参照してほしい。こちらもC#では用意されていない。
図13 ログイン画面のUIデザイン |
ログイン画面では、入力されたIDとパスワードを使ってSQL Serverにログインを行い、その結果を判定する。SQL Serverとの接続はSystem.Data.SqlClient名前空間のクラスを使用する。具体的には、下記のようなコードになる。
|
||
リスト2 SQL Serverへログインするコード例(上:VB、下:C#) |
ログイン画面のフォーム・クラスには、UserIDとPasswordという2つのPublicプロパティを記述している。この2つのプロパティには、SQL Serverへのログインが成功したときに使用したIDとパスワードを設定する。ログイン画面の呼び出し元では、この2つのプロパティから値を取得して、以降のSQL Serverデータベースの処理で利用する。
SQL Server用の接続文字列はApp.configファイルに次のように指定している。
Data Source=localhost\SQLEXPRESS;Initial Catalog=pubs;User ID={0};Password={1}
もしリモートのSQL Serverに接続したいときは、「Data Source」に設定している「localhost」の記述をSQL Serverが稼働しているマシン名に変更してほしい。
続いて、次のページではタイトル一覧画面を作成する。
INDEX | ||
[連載]Windowsフォーム開発入門【Visual Studio 2010対応】 | ||
リモート・データ活用術〜SQL Server編〜 | ||
1.SQL Server Expressの設定 | ||
2.画面遷移/スプラッシュ・スクリーン/ログイン画面 | ||
3.タイトル一覧画面(メイン画面) | ||
4.編集画面(ダイアログ画面) | ||
5.最終仕上げ | ||
「Windowsフォーム開発入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -