|
分類:[C#]
検索フォームのサンプルでつまづいてます。(C#2005)
//検索する文字が見つかったときの処理で
if(i>-1)となっていますが、この-1という数字はどこからでてきたのでしょうか?
基礎的なことかもしれませんがよろしくお願いします。
namespace MyMemo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form1 Form1Instance;
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のtextBox1.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 + "は見つかりませんでした");
}
}
}
}
}
|