我有一个事件遍历 GridControl 中的每个选定行,并将 Cell 值传递给此方法:
public void SearchForException(string ex)
{
if (string.IsNullOrEmpty(ex))
return;
var sb = new StringBuilder();
if (ex.IndexOf("svn", StringComparison.OrdinalIgnoreCase) >= 0)
sb.Append("SharpSVN ");
sb.Append(ex);
Process.Start(string.Format("https://www.google.com/search?q={0}",
Uri.EscapeDataString(sb.ToString())));
}
我尝试了 2 个测试:
- 当我已经打开默认浏览器时调用事件
- 当我没有打开默认浏览器时调用事件
测试 #1 在当前窗口中启动 N 个新标签。测试#2 启动一个带有 N-1 个选项卡的新窗口。
当我单步执行我的代码时,测试 1 和测试 2 都打开了 N 个选项卡。
我尝试Thread.Sleep(25)
在我的方法结束时添加SearchForException
,这很有效......但我想知道是否有更合适的方法来解决这个问题?如果用户的浏览器速度较慢(阅读:Internet Explorer),因为他们默认的 25 毫秒可能不够长。