私はユーザーが文字列を入力するテキストボックスを持っています。今、主な文字列から部分文字列を抽出し、それをリストボックスに表示します。テキストボックスからリストボックスに部分文字列を追加する
例: ユーザーが次のように入力した場合:SELECT A1、A2、A3 FROM TABLE1 次に、リストボックスの別々の項目としてA1、A2およびA3が必要です。
私はそれを簡単に行うことができますが、発生する小さな問題があります。
"FROM"という単語の入力が終了すると、値がリストボックスに追加され、ユーザーが "FROM"(空白も含む)の後に何かを入力すると、値が再び追加されます。
値は1回だけ必要です。私は何が欠けていますか?ユーザーが入力したときTextBox
から書かれたまたは削除されているすべての文字に
private void textBox1_TextChanged(object sender, EventArgs e)
{
string substr;
string str = textBox1.Text.ToString();
Match m = Regex.Match(str, @"(?<=.\s+).+?(?=\s+from)", RegexOptions.IgnoreCase);
try
{
if (m.Success)
{
substr = m.Value;
string[] sub = substr.Split(',');
foreach (string x in sub)
{
listBox1.Items.Add(x);
}
}
finally
{
listBox1.EndUpdate();
}
}
うん、うまくいきました。どうもありがとう。 :) –