我有一个带有 2 个控件的WinForms
对话框。ListBox
在正在测试的应用程序中,双击列表框控件之一(我将其称为 CONTROL LISTBOX)中的任何项目会导致选择另一个列表框(SLAVE LISTBOX)中的匹配项。
我的测试导致在控制列表框中输入多个条目。然后测试ListBox.SelectedItem.DoubleClick()
对每个 CONTROL lISTBOX 项目执行 a,比较ListBox.SelectedItemText
两个列表框控件的。
在应用程序 UI 中,这始终有效,但ListBox.SelectedItemText
对 SLAVE LISTBOX 的调用测试仅在双击\比较的初始迭代中返回与 UI 中选择的内容正确匹配的文本。
谁能帮我弄清楚我做错了什么?谢谢!
这是我的代码:
public bool SelectMainEventViaErrorEvent(int eventIdx)
{
bool bSuccess = false;
errorEvents.Items.Select(eventIdx);
System.Threading.Thread.Sleep(1000);
errorEvents.Items.SelectedItem.DoubleClick();
System.Threading.Thread.Sleep(1000);
if (eventIdx > 0)
{
IVScrollBar vertScroll = mainEvents.ScrollBars.Vertical;
vertScroll.ScrollDownLarge();
}
if (errorEvents.SelectedItemText == mainEvents.SelectedItemText)
{
bSuccess = true;
}
log.Info($"SelectMainEventViaErrorEvent({eventIdx}) selected error event = {errorEvents.SelectedItemText}");
log.Info($"SelectMainEventViaErrorEvent({eventIdx}) selected main event = {mainEvents.SelectedItemText}");
return bSuccess;
}
如您所见,通过下图,两个列表框中的文本是相同的。但是,对ListBox.SelectedItemText
顶部列表框 (SLAVE LISTBOX) 的调用返回第一次迭代的值,该值与双击/比较的第一次迭代期间底部列表框 (CONTROL LISTBOX) 中的第一项匹配。