private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) {
listBox3->Items->Clear();
if (checkBox1->Checked){
for (int i = 0; i < listBox1->Items->Count-1; i++){
String ^str=listBox1->Items[i]->ToString();
if (str->Substring(0, textBox1->Text->Length) == textBox1->Text){ listBox3->Items->Add(listBox1->Items[i]->ToString()); }
}
}
if (checkBox2->Checked){
for (int i = 0; i < listBox2->Items->Count-1; i++){
String ^str=listBox2->Items[i]->ToString();
if (str->Substring(0, textBox1->Text->Length) == textBox1->Text){ listBox3->Items->Add(listBox2->Items[i]->ToString()); }
}
}
}
поиск в listbox
Код:
Дополнительные сведения: Индекс и длина должны указывать на позицию в строке.
что делаю не так?
А что за ошибка?
либо
Код:
i < listBox1->Items->Count
Код:
i <= listBox1->Items->Count - 1
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll"
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Users\Сергей\Desktop\Дарья\Новая папка\Новая папка\Lab1\Debug\Lab1.exe", Cимволы загружены.
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll"
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll"
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll"
"Lab1.exe" (Управляемый (v4.0.30319)): Загружен "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll"
Первый этап обработки исключения типа "System.ArgumentOutOfRangeException" в приложении mscorlib.dll
Необработанное исключение типа "System.ArgumentOutOfRangeException" произошло в mscorlib.dll
Дополнительные сведения: Индекс и длина должны указывать на позицию в строке.
Программа "[3696] Lab1.exe: Управляемый (v4.0.30319)" завершилась с кодом 0 (0x0).
Цитата: ellor!
Во-первых, в цикле условие
либо
, либо
Вместо "str->Substring" тогда уж "str->Contains" использовать.
либо
Код:
i < listBox1->Items->Count
Код:
i <= listBox1->Items->Count - 1
спасибо, работает. только все таки интересно почему с substring не работает...
Substring скорее всего ругался на длину, передаваемую через textBox1->Text->Length