如何查找和替换 ComboBox 中的项目
How to find and replace an items in a ComboBox
在 C++ Builder XE8 中,我使用以下方法将项目插入组合框:
MyComboBox->Items->BeginUpdate();
MyComboBox->Items->Insert(0, "Title");
MyComboBox->Items->Insert(1, "Google");
MyComboBox->Items->Insert(2, "Yahoo");
MyComboBox->Items->Insert(3, "127.0.0.1");
MyComboBox->ItemIndex = 0;
MyComboBox->Items->EndUpdate();
我想知道如何将第 3 项 127.0.0.1 替换为 "xxx.0.0.1"。我试过使用 StringReplace()
,但没有成功。
首先,您的示例应该使用 Add()
而不是 Insert()
(以及 try/__finally
块或 RAII 包装器,以防抛出异常):
MyComboBox->Items->BeginUpdate();
try {
MyComboBox->Items->Add("Title");
MyComboBox->Items->Add("Google");
MyComboBox->Items->Add("Yahoo");
MyComboBox->Items->Add("127.0.0.1");
MyComboBox->ItemIndex = 0;
}
__finally {
MyComboBox->Items->EndUpdate();
}
话虽如此,如果您知道要更改的项目始终是第四项,那么只需直接更新即可:
MyComboBox->Items->Strings[3] = "xxx.0.0.1";
如需搜索,使用IndexOf()
:
int index = MyComboBox->Items->IndexOf("127.0.0.1");
if (index != -1)
MyComboBox->Items->Strings[index] = "xxx.0.0.1";
在 C++ Builder XE8 中,我使用以下方法将项目插入组合框:
MyComboBox->Items->BeginUpdate();
MyComboBox->Items->Insert(0, "Title");
MyComboBox->Items->Insert(1, "Google");
MyComboBox->Items->Insert(2, "Yahoo");
MyComboBox->Items->Insert(3, "127.0.0.1");
MyComboBox->ItemIndex = 0;
MyComboBox->Items->EndUpdate();
我想知道如何将第 3 项 127.0.0.1 替换为 "xxx.0.0.1"。我试过使用 StringReplace()
,但没有成功。
首先,您的示例应该使用 Add()
而不是 Insert()
(以及 try/__finally
块或 RAII 包装器,以防抛出异常):
MyComboBox->Items->BeginUpdate();
try {
MyComboBox->Items->Add("Title");
MyComboBox->Items->Add("Google");
MyComboBox->Items->Add("Yahoo");
MyComboBox->Items->Add("127.0.0.1");
MyComboBox->ItemIndex = 0;
}
__finally {
MyComboBox->Items->EndUpdate();
}
话虽如此,如果您知道要更改的项目始终是第四项,那么只需直接更新即可:
MyComboBox->Items->Strings[3] = "xxx.0.0.1";
如需搜索,使用IndexOf()
:
int index = MyComboBox->Items->IndexOf("127.0.0.1");
if (index != -1)
MyComboBox->Items->Strings[index] = "xxx.0.0.1";