Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >For循环停止在列表框中的第一项之后迭代

For循环停止在列表框中的第一项之后迭代
EN

Stack Overflow用户
提问于 2011-11-26 22:11:57
回答 4查看 994关注 0票数 1

我有一个希望(针对ListBox中的每个项)执行方法的for循环。

现在发生的情况是,第一个项目被选中,方法被执行,但它没有选择第二个项目,它只是坐在那里。

你能帮上忙吗?

这是我的for循环的样子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for(int i = 0; i < listBox8.Items.Count; i++) {
    listBox8.SetSelected(i, true);
    listBox8.SelectedIndex = 0;

    Thread t = new Thread(signinmobile);
    t.Start();
    CheckForIllegalCrossThreadCalls = false;
}

这是我的副手:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void signinmobile()
{
    string yourString = listBox8.SelectedItem.ToString();
    string[] strArray = yourString.Split(':');

    System.Net.ServicePointManager.Expect100Continue = false;
    string postData = "authenticity_token=401538d41ace8f334c3d&username=" + strArray[0] + "&password=" + strArray[1] + "";
    CookieContainer tempCookies = new CookieContainer();
    UTF8Encoding encoding = new UTF8Encoding();
    byte[] byteData = encoding.GetBytes(postData);

    HttpWebRequest postReq = (HttpWebRequest)WebRequest.Create("https://mobile.twitter.com/session");
    postReq.Method = "POST";
    postReq.KeepAlive = true;
    postReq.CookieContainer = tempCookies;
    postReq.ContentType = "application/x-www-form-urlencoded";
    postReq.Referer = "https://mobile.twitter.com/session";
    postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)";
    postReq.ContentLength = byteData.Length;

    Stream postreqstream = postReq.GetRequestStream();
    postreqstream.Write(byteData, 0, byteData.Length);
    postreqstream.Close();
    HttpWebResponse postresponse = default(HttpWebResponse);

    postresponse = (HttpWebResponse)postReq.GetResponse();
    tempCookies.Add(postresponse.Cookies);
    StreamReader postreqreader = new StreamReader(postresponse.GetResponseStream());

    string accountstatus = postreqreader.ReadToEnd();

    webBrowser1.DocumentText = accountstatus;

    if (accountstatus.Contains("Sign in information is not correct"))
    {
        listBox9.Items.Add(listBox8.SelectedItem.ToString() + "\r");
        while (listBox8.SelectedItems.Count > 0)
        {
            listBox8.Items.Remove(listBox8.SelectedItems[0]);
        }
    }
    else
    {
        listBox2.Items.Add(listBox8.SelectedItem.ToString() + "\r");

        while (listBox8.SelectedItems.Count > 0)
        {
            listBox8.Items.Remove(listBox8.SelectedItems[0]);
        }
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-26 22:16:32

下面的行总是为每个循环周期选择第一项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
listBox8.SelectedIndex = 0;

我相信您完全可以删除这一行,因为前一行(listBox8.SetSelected(i, true);)已经进行了选择

编辑:问题更新后的

我觉得这里可能会有例外发生。在signinmobile方法调用周围添加try/catch(Exception ex)块,并告诉我们是否处理了eny异常。

顺便说一句,为什么你要在另一个线程中运行方法?看起来有线程同步问题,所以如果列表包含两个以上的项目,多个线程将运行并删除列表中的项目,然后调用SetSelected失败,因为它缓存的索引值i当前不存在,因为一些线程已经删除了项目...因此,在单线程中运行所有线程,或者在t.Start()之后执行t.Join(),这样主线程将等待工作线程完成,它们将继续下一个循环周期。

票数 1
EN

Stack Overflow用户

发布于 2011-11-26 22:15:38

您再次将选定的索引设置为0。这是第一项。所以循环的每一次迭代都停留在第一项。

票数 1
EN

Stack Overflow用户

发布于 2011-11-26 22:16:27

您每次都会将SelectedIndex重置为0,因此它不会向前移动...只需删除该行即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8282016

复制
相关文章
使用VBA自动选择列表框中的第一项
有时候,可能你想自动选择列表框中的第一项或者最后一项。例如,当选择列表框所在的工作表时,列表框自动选择第一项,或者选择最后一项。这都可以使用简单的VBA代码轻易实现。
fanjy
2022/11/16
2.4K0
使用VBA自动选择列表框中的第一项
Flutter swiper在tab切换之后快速循环
我的swiper在首页,在BottomNavigationBar点击切换回来之后,首页的swiper就会快速的循环,然后过一会正常。
yechaoa
2022/06/10
5770
面试官:如何停止 JavaScript 中的 forEach 循环?
我对结果感到沮丧,问面试官:“为什么?实际上可以停止 JavaScript 中的 forEach 循环吗?”
前端达人
2023/08/31
2330
面试官:如何停止 JavaScript 中的 forEach 循环?
迭代循环:for语句
• 简单类型用来表示值:整数int、浮点数float、复数complex、逻辑值bool、字符串str
陆勤_数据人网
2020/08/27
8200
python - 可迭代/迭代器对象、for循环原理
目录 可迭代对象与迭代器对象 for循环本质 可迭代对象与迭代器对象 迭代:迭代的意思就是更新换代,每次的更新都必须依赖上一次的结果 迭代其实给我们提供了一种不依赖索引取值的方式 可迭代对象: 内置有 _ _ iter _ _方法的都称为可迭代对象 有字符串、列表、元组、字典、集合、文件对象 迭代器对象: 内置有 _ _iter _ _ 方法,又含有 _ _next _ _方法称为迭代器对象 文件本身即是可迭代对象,也是迭代器对象 可迭代对象调用_ _it
HammerZe
2022/03/25
9340
请停止编写这么多的for循环!
在这篇文章中,我想和你一起回到基础知识,并讨论 Java 中的 for 循环。老实说,我正在为自己写这篇博客文章,因为我也会这样做。从 Java 8 开始,我们不必在 Java 中编写太多 for 循环!我希望这篇文章将使你的代码更易于阅读和编写。
武培轩
2019/12/10
8180
迭代循环丨SUMX函数
白茶在之前的一期,曾经分享过RANKX排名的问题,但是白茶当时犯了一个很严重的错误,这里和小伙伴们说一声抱歉。本期呢,既是纠正这个错误,也是学习另一个函数——迭代循环函数之SUMX。
PowerBI丨白茶
2021/09/01
1.1K0
迭代循环丨SUMX函数
在nodejs中事件循环分析
在上一篇文章在chromev8中的JavaScript事件循环分析中分析到,在chrome中的js引擎是通过执行栈和事件队列的形式来完成js的异步操作。然而在node中,事件循环表现出的状态与浏览器中大致相同。不同的是node中有一套自己的模型。node中事件循环的实现是依靠的libuv引擎。我们知道node选择chrome v8引擎作为js解释器,v8引擎将js代码分析后去调用对应的node api,而这些api最后则由libuv引擎驱动,执行对应的任务,并把不同的事件放在不同的队列中等待主线程执行。 因此实际上node中的事件循环存在于libuv引擎中。
Yerik
2022/04/11
4K0
R:purrr包用于循环迭代
purrr中有多个迭代函数,可以用于快速解决循环迭代的问题,purrr中常用的迭代函数有map、map2、walk、reduce等等。
生信菜鸟团
2020/07/16
1.6K0
nginx在windows系统中如何启动、重启、停止
查看nginx的版本号:nginx -v 启动nginx:start nginx 快速停止或关闭nginx:nginx -s stop 正常停止或关闭nginx:nginx -s quit 配置文件nginx.conf修改重装载命令:nginx -s reload
似水的流年
2019/12/13
15.2K0
再探循环、迭代、分治、回溯
采用“试错”思想,尝试“分步”去解决问题。在分步的过程中。根据上层结果,尝试此层最优解决此问题,如果此层较于上层不是最优则回溯。
PayneWu
2020/12/18
3490
如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)
所以推荐使用迭代器iterator,或者JDK1.8以上使用lambda表达式进行List的遍历删除元素操作。
崔笑颜
2020/06/08
12.2K0
追根揭底-循环\迭代\分治详细使用
Multiple solutions of Fibonacci(Python or Java) Violence law(Top-down) It can be solved directly according to the known conditions (f (0) = 0, f (1) = 1 F(N) = F(N - 1) + F(N - 2), for N > 1) Python Code class Solution: def fib(self, N: int) -> int: if N =
PayneWu
2020/12/18
6080
探索异步迭代器在 Node.js 中的使用
上一节讲解了迭代器的使用,如果对迭代器还不够了解的可以在回顾下《从理解到实现轻松掌握 ES6 中的迭代器》,目前在 JavaScript 中还没有被默认设定 [Symbol.asyncIterator] 属性的内建对象,但是在 Node.js 中已有部分核心模块(Stream、Events)和一些第三方 NPM 模块(mongodb)已支持 Symbol.asyncIterator 属性。本文也是探索异步迭代器在 Node.js 中的都有哪些使用场景,欢迎留言探讨。
五月君
2020/12/14
7.6K0
探索异步迭代器在 Node.js 中的使用
请停止在Python中无休止使用列表
当你学习不熟悉的新东西的时候,一旦发现某样东西有效,那么你就会坚持使用它而放弃探索更多的可能性。在Python中,那样东西就是列表。
HuangWeiAI
2020/11/17
2.9K0
请停止在Python中无休止使用列表
在 JavaScript 中优雅的提取循环内的数据 [每日前端夜话0x2D]
从 A 行开始的循环用来记录文件路径。它是 for-of 循环和递归的组合(递归调用在 B 行)。
疯狂的技术宅
2019/03/27
3.7K0
在 JavaScript 中优雅的提取循环内的数据 [每日前端夜话0x2D]
ES6 的循环和可迭代对象
首先是经典的 for i 循环,它使你可以遍历数组或可索引的且有 length 属性的任何对象。
疯狂的技术宅
2020/09/01
1.9K0
ES6 的循环和可迭代对象
在chromev8中的JavaScript事件循环分析
JavaScript从诞生之日起就是一门单线程的非阻塞的脚本语言。这是由其最初的用途来决定的:与浏览器交互。
Yerik
2022/04/09
4K0
Angular 2 中的绑定的方法在无限循环吗?
我在自己的Ionic 2项目中,使用卡片列出数据: <ion-card *ngFor="let item of inspects"> 卡片中有一个导航按钮,根据每项的数据生成连接打开百度地图,我是这样绑定的: 页面: <a [href]="nav(item)" target="_blank" ion-button icon-left clear small> <ion-icon name="pin"></ion-icon> <div>导航</div> </a> 代码:
孙亖
2018/06/07
3.9K0
Python 中的迭代器
自从第4章4.2.6节出现了“可迭代的”(Iterable)一词之后,就不断遇到具有此特征的对象,比如列表、字符串、字典等。判断一个对象是否是可迭代的,主要看它是否具有 __iter__() 方法。
老齐
2021/11/15
1.1K0

相似问题

循环在列表中的第一项之后停止。

24

Javascript只在一次迭代之后停止循环

22

循环工作流在多次迭代之后停止。

22

C++中的For循环在单个迭代w/指针变量之后停止

25

循环在第一次迭代之后停止吗?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文