|
分類:[C#]
メモ書きや編集ができるアプリのサンプルで勉強中のものです。
置き換え機能を作成している部分ですが
置き換えを実行した後にExchangeFormを破棄するのはなぜなのでしょか?
● //置き換えボタンを押したときの処理
private void 置き換えToolStripMenuItem_Click(object sender, EventArgs e)
{//form3のインスタンスを作成
Form3 ExchangeForm= new Form3();
//ExchangeFormを表示
ExchangeForm.ShowDialog();
//置き換え前の単語
string exchange_before;
//置き換え後の単語
string exchange_after;
//textBox1textのプロパティのgetアクセサを呼び出して値を取得
exchange_before = ExchangeForm.TextBox1text;
//textbox2textのプロパティのgetアクセサを呼び出して値を取得
exchange_after = ExchangeForm.Textbox2text;
if (exchange_before != "" && exchange_after != "")
{//置き換えを実行
textBox1.Text = textBox1.Text.Replace(exchange_before, exchange_after);
}
// ExchangeFormを破棄
ここです→ // ExchangeForm.Dispose();
}
●namespace MyMemo
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
//置き換え前の単語を受け渡しするためのプロパティ
public string TextBox1text
{
get
{
return textBox1.Text;
}
set
{
textBox1.Text = value;
}
}
//置き換え後の単語を受け渡しするためのプロパティ
public string Textbox2text
{
get
{
return textBox2.Text;
}
set
{
textBox2.Text = value;
}
}
//置き換えボタンを押したときの処理
private void button1_Click(object sender, EventArgs e)
{//置き換え前か置き換え後の単語が指定されずに検索ボタンが押されたらメッッセージボックスを表示
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("置き換え前の単語と置き換え後の単語を入力してください");
}
else
{//TextBox1textプロパティに値を渡す
TextBox1text = textBox1.Text;
//TextBox2textプロパティに値を渡す
Textbox2text = textBox2.Text;
//このフォームを隠す
this.Hide();
}
}
}
}
|