【Winform】メモアプリのチュートリアル
サマリー:
このチュートリアルでは、初学者向けにC#とWinFormを使ったシンプルなメモアプリを作成します。このアプリを通じて、基本的なUI操作、イベント処理、ファイルの読み書き、データの保存・読み込みなどの技術を学べます。プレイヤーは入力したメモを保存したり、後で開いたりすることができます。これにより、ファイル操作の基本的なスキルが身に付きます。
1. プロジェクトのセットアップ
- Visual Studio を開き、新しい「Windows フォームアプリケーション (.NET Framework)」プロジェクトを作成します。
- プロジェクト名を「MemoApp」にします。
Form1
の名前をMemoForm
に変更し、Text
プロパティも「メモアプリ」に設定します。
2. 基本的なUIの配置
- TextBox コントロールをフォームに追加し、プロパティを次のように設定します:
Name
: memoTextBoxMultiline
: TrueDock
: FillFont
: 12pt
- Button コントロールを2つ追加し、それぞれ次のように設定します:
Name
: saveButton,Text
: “保存"Name
: loadButton,Text
: “開く"- それぞれの
Dock
: Bottom
3. ファイル操作の実装
以下のコードを使って、メモアプリの基本的なファイル操作を実装します。
using System;
using System.IO;
using System.Windows.Forms;
namespace MemoApp
{
public partial class MemoForm : Form
{
public MemoForm()
{
InitializeComponent();
InitializeMemoApp();
}
private void InitializeMemoApp()
{
saveButton.Click += SaveButton_Click;
loadButton.Click += LoadButton_Click;
}
private void SaveButton_Click(object sender, EventArgs e)
{
SaveFileDialog saveDialog = new SaveFileDialog
{
Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
DefaultExt = "txt",
AddExtension = true
};
if (saveDialog.ShowDialog() == DialogResult.OK)
{
File.WriteAllText(saveDialog.FileName, memoTextBox.Text);
MessageBox.Show("メモが保存されました。", "保存完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void LoadButton_Click(object sender, EventArgs e)
{
OpenFileDialog openDialog = new OpenFileDialog
{
Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
};
if (openDialog.ShowDialog() == DialogResult.OK)
{
memoTextBox.Text = File.ReadAllText(openDialog.FileName);
MessageBox.Show("メモが読み込まれました。", "読み込み完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
4. メモの保存と読み込み
- 「保存」ボタンをクリックすると、現在のメモの内容がテキストファイルとして保存されます。
- 「開く」ボタンをクリックすると、保存されたメモをテキストボックスに読み込みます。
5. ファイルダイアログの使用
このチュートリアルでは、SaveFileDialog
とOpenFileDialog
を使って、ファイルを選択し、保存や読み込みを行う方法を学びます。これにより、基本的なファイル操作の理解が深まります。
まとめ
このチュートリアルでは、初学者がC#とWinFormを使ってシンプルなメモアプリを作成することで、UI操作、イベント処理、ファイル操作などの基本的なプログラミング技術を学べます。実用的なアプリケーションを作成することで、学習のモチベーションも高まり、達成感を得られるでしょう。
他にも追加や修正が必要な部分があれば、お知らせください。
ディスカッション
コメント一覧
まだ、コメントがありません