(2017年2月26日)
■使用ソフト
・Visual Studio Community 2015 with Update 3
■言語
・C#
■パソコン環境
・OS:Windows 7 Home Premium Service Pack 1 (64 ビット)
・プロセッサ:Intel(R) Core(TM) i3-2367M CPU @ 1.40GHz (4 CPUs)
・メモリ:4096MB RAM
■目次
<メモ帳を作る>
・【C#】 ウィンドウの作成
・【C#】 メニューとテキストボックスの配置
・【C#】 新規メニューの作成
・【C#】 開くメニューの作成
・【C#】 名前を付けて保存メニューの作成
・【C#】 上書き保存メニューの作成
■作り方
1.前回作成したファイルを開く。
2.メニューの名前を付けて保存の下に「上書き保存(&S)」と入力する。
3.上書き保存のところをドラッグして、名前を付けて保存の上に
持って行く。
4.上書き保存SToolStripMenuItemのプロパティを以下のように設定する。
・EnabledをFalseに設定。新規作成時は選択できないようにする。
5.Form1のプロパティを以下のように設定する。
・Textに「無題 - メモ帳」と入力。ウィンドウタイトルが変更される。
6.Form1.csのソースのpublic partial class Form1 : Formの
最初に以下のように入力する。
private string FileName = "";
7.新規NToolStripMenuItem_Clickの関数の中に
以下のとおり追加入力する。
Text = "無題 - メモ帳";
上書き保存SToolStripMenuItem.Enabled = false;
上書き保存SToolStripMenuItem.Enabled = false;
8.開くOToolStripMenuItem_Clickの関数の中に
以下のとおり追加入力する。
FileName = openFileDialog1.FileName;
Text = Path.GetFileName(openFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
Text = Path.GetFileName(openFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
9.メニューの「上書き保存(&A)」をダブルクリックする。
10.上書き保存SToolStripMenuItem_Clickの関数の中に
以下のとおり入力する。
File.WriteAllText(FileName, textBox1.Text, Encoding.GetEncoding("Shift_JIS"));
11.名前を付けて保存AToolStripMenuItem_Clickの関数の中に
以下のとおり追加入力する。
FileName = saveFileDialog1.FileName;
Text = Path.GetFileName(saveFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
Text = Path.GetFileName(saveFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
※Form1.csのソースをまとめると以下のとおり。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Memo
{
public partial class Form1 : Form
{
private string FileName = "";
public Form1()
{
InitializeComponent();
}
private void 新規NToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Text = "";
Text = "無題 - メモ帳";
上書き保存SToolStripMenuItem.Enabled = false;
}
private void 開くOToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader reader = new StreamReader(openFileDialog1.FileName, Encoding.GetEncoding("Shift_JIS"));
FileName = openFileDialog1.FileName;
textBox1.Text = reader.ReadToEnd();
reader.Close();
Text = Path.GetFileName(openFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
}
}
private void 名前を付けて保存AToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(saveFileDialog1.FileName, false, Encoding.GetEncoding("Shift_JIS"));
FileName = saveFileDialog1.FileName;
writer.Write(textBox1.Text);
writer.Close();
Text = Path.GetFileName(saveFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
}
}
private void 上書き保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
File.WriteAllText(FileName, textBox1.Text, Encoding.GetEncoding("Shift_JIS"));
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Memo
{
public partial class Form1 : Form
{
private string FileName = "";
public Form1()
{
InitializeComponent();
}
private void 新規NToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Text = "";
Text = "無題 - メモ帳";
上書き保存SToolStripMenuItem.Enabled = false;
}
private void 開くOToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader reader = new StreamReader(openFileDialog1.FileName, Encoding.GetEncoding("Shift_JIS"));
FileName = openFileDialog1.FileName;
textBox1.Text = reader.ReadToEnd();
reader.Close();
Text = Path.GetFileName(openFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
}
}
private void 名前を付けて保存AToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(saveFileDialog1.FileName, false, Encoding.GetEncoding("Shift_JIS"));
FileName = saveFileDialog1.FileName;
writer.Write(textBox1.Text);
writer.Close();
Text = Path.GetFileName(saveFileDialog1.FileName) + " - メモ帳";
上書き保存SToolStripMenuItem.Enabled = true;
}
}
private void 上書き保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
File.WriteAllText(FileName, textBox1.Text, Encoding.GetEncoding("Shift_JIS"));
}
}
}
12.「ビルド」→「ソリューションのビルド」の順に選択する。
13.「デバッグ」→「デバッグの開始」の順に選択してプログラムを確認する。
上書き保存を選択するとテキストファイルを上書き保存することができる。
(上書き保存は名前を付けて保存を行った後に選択可能)
ウィンドウタイトルがファイル名に合わせて変更される。