|
分類:[C#]
デバックすると、下記エラーが出ます(2ヶ所)。解決方法が、あればお教え下さい。
エラー 1 'MyMemo.Form2' に 'Form1Insttance' の定義がありません。
エラー 2 名前 'button1_Text' は現在のコンテキスト内に存在しません。
以下↓ソースコードです。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace MyMemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void toolStripTextBox1_Click(object sender, EventArgs e)
{
}
private void toolStripComboBox1_Click(object sender, EventArgs e)
{
}
private string selectedFileName;
//開くメニューがクリックされたときの処理
private void 開くOToolStripMenuItem_Click(object sender, EventArgs e)
{//OKボタンが押された時の処理
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//選択されたファイル名を変数に格納
selectedFileName = openFileDialog1.FileName;
//ファイルの内容をテキストボックスに読み込んで表示
textBox1.Text = File.ReadAllText(selectedFileName, Encoding.Default);
}
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
}
private void ツールUToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
}
//保存するメニューが押されたときの処理
private void 保存するStoolStripMenuItem_Click(object sender, EventArgs e)
{
//OKボタンが押されたときの処理
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//選択されたファイル名を変数に格納
selectedFileName = saveFileDialog1.FileName;
//textBox1の内容を保存
File.WriteAllText(selectedFileName, textBox1.Text, Encoding.Default);
}
}
//閉じるメニューが押されたときの処理
private void 閉じるXToolStripMenuItem_Click(object sender, EventArgs e)
{
//フォームを閉じる
this.Close();
}
private void 切り取りTToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Cut();
}
private void コピーCToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Copy();
}
private void 貼り付けToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Paste();
}
private void Form1_Load(object sender, EventArgs e)
{
}
//検索メニューがクリックされたときの処理
private void 検索FToolstripMenuItem_Click(object sender, EventArgs e)
{
//Form2のインスタンスを作成
Form2 SearchForm = new Form2();
//このフォームがSearchFormを所有する
this.AddOwnedForm(SearchForm);
//テキストボックスの値をプロパティのsetアクセサに渡す
this.TextBoxText = textBox1.Text;
//Form1のインスタンスを代入
SearchForm.Form1Insttance = this;
//SearchFormを表示
SearchForm.Show();
}
//textBox1.Textの値を受け渡しするプロパティ
public string TextBoxText
{
get
{
return textBox1.Text;
}
set
{
textBox1.Text = value;
}
}
//検索語が見つかった最初の位置を受け渡しするプロパティ
public int SSelection
{
get
{
return textBox1.SelectionStart;
}
set
{
textBox1.SelectionStart = value;
}
}
//検索語の長さを受け渡しするプロパティ
public int LSelection
{
get
{
return textBox1.SelectionLength;
}
set
{
textBox1.SelectionLength = value;
}
}
public Form1 Form1Instance;//Form1のインスタンス
int j = 0;//検索を始める位置
string search_word;//検索する単語
//検索ボタンをクリックしたときの処理
private void button1_Click(object sender, EventArgs e)
{
//検索する単語を入力せずに検索ボタンを押した場合
if (textBox1.Text == "")
{
MessageBox.Show("検索する単語を入力してください");
}
else
{
//検索する単語を入力してから検索ボタンを押した場合
//違う単語での1回目の検索かをチェック
if (search_word != textBox1.Text)
{
//その単語での初めての検索なら検索を始める位置jを0にする
j = 0;
}
//ユーザが入力した検索する単語を代入
search_word = textBox1.Text;
//検索する単語をForm1のtextBox.Textのj番目の文字以降で検索
int i = Form1Instance.TextBoxText.IndexOf(search_word, j);
//検索する単語が見つかったときの処理
if (i > -1)
{
//検索語の見つかった位置
Form1Instance.SSelection = i;
//検索語の長さ
Form1Instance.LSelection = search_word.Length;
if (j == 0)
{
//その検索語での初めての検索ならボタンの文字を「次を検索」に変える
button1_Text = "次を検索";
}
//どの位置まで検索したかをjに格納
j = i + search_word.Length;
}
else
{
//検索語が見つからなかったときの処理
MessageBox.Show(search_word + "は見つかりませんでした");
}
}
}
}
}
|