|
||
解説: ComboBox コンポーネントは複数の項目を格納しておき、必要に応じて選択させて使います。 一度入力した項目を追加(項目の追加に関しては Tips 参照)して、選択数を増やしていけるところも便利です。 ただ格納数が増えてくると、同じ項目を追加してしまうなどの誤りが発生します。そのような時は、どう回避したら良いでしょう? 使用例: 以下の例では、Edit1 に文字列を入力して、Button1 をクリックすると、ComboBox1 に項目が格納されていきます。同じ項目を Edit1 に入力しても、追加されません。 準備として Edit、Button、ComboBox を適当に配置します。 Button1 の OnClick イベントハンドラでは、ComboBox1 のリストに入力した文字列を追加する時、IndexOf メソッドを呼び出し、パラメータで指定したリスト項目の位置を判定させています。 IndexOf は指定したリスト項目がリストになければ、-1 を返します。 こうすることで、同じ文字列は重複して追加できなくなります。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // コンボボックスに項目を重複せずに追加 // ヌルは判定させる if (Edit1->Text != "" && ComboBox1->Items->IndexOf(Edit1->Text) == -1) ComboBox1->Items->Add(Edit1->Text); } //------------------------------------------------------------------- |