我的C#应用程序上有一些webBrowsers,事实上我有10个webBrowser0,webBrowser1,webBrowser2等等。
无论如何,我正在执行一个循环来计算每个屏幕,以便在我拥有的每个屏幕上放置一个 webBrowser,所有这些都很容易完成,但在我的循环中,如果有这样的东西。
for (index = 0; index <= totalScreens; index++)
{
if (index == 0)
{
webBrowser0.Width = x;
webBrowser0.Height = x;
}
if (index == 1)
{
webBrowser1.Width = x;
webBrowser1.Height = x;
}
}
如您所见,我在代码上加倍了很多,所以如果我能参考 webBrowser{index},那将是完美的,但这当然不起作用。
创建 Web 浏览器的集合。
List<WebBrowser> browsers = new List<WebBrowser> {webBrowser0,webBrowser1};
for (index = 0; index <= totalScreens; index++)
{
if(index < browsers.Count)
{
browsers[index].Width = x;
browsers[index].Height = x;
}
}
你可以定义一个数组
WebBrowser[] browsers = new WebBrowser[] { webBrowser0, webBrowser1, ... };
并在循环中使用browsers[index]
。
你可以做的是使用
var myBrowsers = new List<WebBrowser>().
然后,您将您的网络浏览器添加为
myBrowsers.Add(new WebBrowser()); // Do this 10 times for 10 browsers.
这样您就可以使用
myBrowser[index]
或在循环中访问每个
foreach (var aBrowser in myBrowsers)
{
aBrowser...
}
或
for (var i = 0; i < myBrowsers.Count; i++)
{
myBrowser[i]...
}
我最近遇到了与您很多控件相同的问题,并且 for 可以找到它们,我选择使用控件列表(或者如果您正确排序了控件,则只是使用表单中的属性控件),然后我循环设置它们的位置,每次计算每个位置。
再见。