c# アプリケーション開発 プログラミング メモ帳アプリ

【C#】メモ帳アプリ開発 ウインドウ上にメニューを設置 ファイル新規作成、アプリ終了などを実装(その4)

メモ帳アプリ開発の「その4」になります。

アプリの上部にメニューバーを表示して、いろんな操作ができるようにしてみたいと思います。


【C#】メモ帳アプリ開発 ウインドウ上にメニューを設置 ファイル新規作成、アプリ終了などを実装

メニューバーの設定は、以前に以下の記事でも少し紹介しました。

【C#】フォームにメニューを表示する方法|メニューのアクセスキー&ショートカットを設定する方法も紹介

WindowsFormsでこのようなメニューを表示する方法を紹介します。 フォームにメニューを表示する方法 ツールボックスから「MenuStrip」を選択し、配置することで実現できます! 詳しくみてい ...

続きを見る

 

とりあえず、まずは赤枠のメニューを表示してみましょう。

※こちらは、Windows標準搭載のメモアプリの画面です。

メニュー

MenuStripを配置してメニューを表示する

ツールボックスから「MenuStrip」を選択して、フォーム上に配置します。

menustrip

 

とりあえずメニューっぽいのができました!

※まだ、ボタン押しても何も動作しませんが。

メニュー作成

(F)とか(E)とかの入力方法などは、下記の関連記事にまとめてますのでそちらをご覧ください。

【C#】フォームにメニューを表示する方法|メニューのアクセスキー&ショートカットを設定する方法も紹介

WindowsFormsでこのようなメニューを表示する方法を紹介します。 フォームにメニューを表示する方法 ツールボックスから「MenuStrip」を選択し、配置することで実現できます! 詳しくみてい ...

続きを見る

メニュー「ファイル」の中身を実装していこう!

ここでは、メニューのなかから「ファイル」を実装してきたいと思います。

※全てやっていると大量になってしまうので、抜粋して。

 

ファイルメニューを開くとこんな感じです。

ファイルメニュー

 

ファイルメニューの中身です。

  • 新規
  • 新しいウィンドウ
  • 開く
  • 上書き保存
  • 名前を付けて保存
  • ページ設定
  • 印刷
  • メモ帳の終了

この中から、2つピックアップして実装してみたいと思います。※黄色マーカーがついてるやつ。

 

メニューを追加してみました。

メニュー

作成・入力方法は、(先ほどもでてきた)こちらの関連記事を参考にしてみてください。

※(Ctrl+N)などのショートカットキーの入力方法も記載しています。

【C#】フォームにメニューを表示する方法|メニューのアクセスキー&ショートカットを設定する方法も紹介

WindowsFormsでこのようなメニューを表示する方法を紹介します。 フォームにメニューを表示する方法 ツールボックスから「MenuStrip」を選択し、配置することで実現できます! 詳しくみてい ...

続きを見る

ちなみに、「開く」と「メモ帳の終了」の間の線は「ハイフン(-)」を入力すればOKです。

【1つ目】メニュー「新規(N)」の実装方法

【概要】メニュー「新規(N)」の実装方法

それでは、1つ目の「新規(N)」の実装方法を紹介します。

新規なので、「今入力されているテキストを破棄してまっさらなメモ帳にしてあげる」という感じの動作になります。

 

ここで気を付けたいのが以下。

  • ファイルが未保存の場合は、警告表示する。
    → 保存する or 保存しないを選択させる

ファイル保存してないのに、何の通知もせずにまっさらにされたのでは、ユーザーとしてはちょっと不親切だな!と感じてしまいます。

ユーザーにやさしい作り、を心掛けていきましょう!(←これ、かなり大切です)

ファイルの保存・未保存を覚えておく

先ほどの、「未保存の場合は警告表示する」を実現するために、以下のようにします。

  • 「未保存か?保存済みか?」を覚えておくために、1つプロパティーを用意。

※実現方法は色々あると思いますが、ここでは簡単に。

 

コンストラクタで「true」にしておき、以降は新しいテキストが入力されたら「false」に更新してあげます。

そして、保存された時点で再び「true」に設定、という感じに使います。

 

テキスト入力されたら、未保存へ更新



※保存処理は未実装なので、ここではテキスト入力でのフラフ更新のみ記載。

新規入力時の処理|未保存の場合に警告表示する方法

Windowsメモ帳での新規作成時の警告表示

新規作成時の警告表示

上記のような警告(というか、保存をうながすメッセージ)を表示してみたいと思います。

ここだと「無題への変更内容を保存しますか?」と書いてるので、ファイル名も覚えておく必要がありますね。

※ちょっと面倒なのでここでは省略したいと思います。まぁ同じようにプロパティ追加して「保存したファイル名 or 未保存なら無題」という名前をおぼえておけばOKですが。

 

ソースコード(新規作成ボタンクリック時の処理)



※実際の中身の処理は、まだ空のままです。

これで実行してみてください。適当に文字入力して、ファイル→新規作成、で以下のようなメッセージが表示されるようになりました。

新規作成未保存時の警告表示

フォームが画面中央に表示されない人はこちらも参照してみてね

【C#】画面(フォーム)をを画面の中央に表示する方法&任意の位置に表示する方法

以下のように、作成したプログラムを実行したけど画面中央に表示されない! という場合の解決法です。 ※画面の中央に表示する方法、画面の任意の位置に表示する方法についてです。 フォームを画面中央に表示する ...

続きを見る

新規作成でTextBoxの入力内容をクリアする

先ほどの「else if」文を以下のようにしてみました。

新規作成でTextBoxの中身を空にし、フラフを更新。

とりあえずこれで新規作成となりました。

※保存処理は長くなりそうなので、ここでは省略させてもらいます…。すいません。

【2つ目】メニュー「メモ帳の終了(X)」の実装方法

こんな感じにしてみたいと思います。

メモ帳アプリの終了

  • メモ帳が未保存の場合は、終了してよいか確認メッセージを表示する。
  • メモ帳保存済みの場合は、即終了

ソースコード



「This.Close」でアプリを終了させます。

その前に、ファイル保存済みかのフラグをチェックし、未保存の場合はメッセージ表示しています。

「ユーザーに終了してよいか?」を問い、良ければ終了という流れです。

まとめ

本記事では、「 ウインドウ上にメニューを設置」してみました。

新規作成やアプリ終了など、簡単な実装を通して、メニューの使用方法を学びました。

 

それでは!

\この記事はどうでしたか?/

-c#, アプリケーション開発, プログラミング, メモ帳アプリ

© 2021 ジョブログLiFE