C#中只想把textbox里面输入的值加入到listbox里面

我在textbox-changedtext里面编写了if(textbox.focused==true)然后执行添加,但是这样的话会出现下列情况:比如我本来是想输入23然后... 我在textbox-changedtext里面编写了if(textbox.focused == true)然后执行添加,但是这样的话会出现下列情况:比如我本来是想输入23然后在list里面有23,但是这个时候会再list里面出现2和23
请问这样的情况怎么解决?
很着急~谢谢帮忙
展开
 我来答
百度网友586e433
2011-08-18 · TA获得超过3491个赞
知道小有建树答主
回答量:1221
采纳率:0%
帮助的人:1420万
展开全部
可以定义一个关系把textbox和listbox指定的行绑定起来.只不过要自己写代码
还是在changedtext事件上
比如textbox,第一次触发时
listbox直接添加text即可,同时记录这个位置,index_i
下次textbox触发这个事件,直接修改listbox的item[index_i]为textbox的text

private void textBox1_TextChanged(object sender,EventArgs e)
{
if(textBox1.Tag != null)
{
listBox1.Items[(int)textBox1.Tag] = textBox1.Text;
}
else
{
textBox1.Tag =listBox1.Items.Add(textBox1.Text);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spin2008
2011-08-18 · 超过32用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:70.6万
展开全部
当然了,textchanged事件是输入一次就触发一次,
而你又在这个事件中写添加方法,当然输入一个字符就添加一个字符,
解决方法:
在KeyPress事件中写,写完后按回车就添加了
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter) //如果按了回车键
{
//在这里写添加到listbox中的代码.....
}
}
追问
不用这个按回车的还有别的解决方法么?
追答
那就用Leave事件,添加完之后点其它按钮或地方就添加
就是说当extBox不是活动控件时添加,不知道有没有说明白
private void textBox1_Leave(object sender, EventArgs e)
{
//在这里写添加到listbox中的代码.....
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七终多E
2011-08-18 · TA获得超过1.4万个赞
知道大有可为答主
回答量:3756
采纳率:46%
帮助的人:3428万
展开全部
输入2的时候 触发一次 textbox-changedtext事件 你又输入3 又触发一次 当然会这样了
你应该用这样的逻辑 写入数据 然后按回车键 再把数据存到list里面 然后清空text里面的内容
更多追问追答
追问
我现在就是觉得输入回车麻烦,所以才比较迷茫。。。要是按了回车才输入的话就比较简单了。。。就是想问问不按回车有没有什么方法可以实现
追答
那没办法 你用了textbox-changedtext 这个事件 只要你一按键的某个键 字符改变了 就要把之前的内容加到list里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡老罗
2011-08-18 · TA获得超过193个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:179万
展开全部
楼主你好,按回车的时候把textbox的值添加到listbox也罢,或者触发leave事件的时候添加,殊途同归,都是一个目的:在一个明确的前提条件下,执行你所需要的动作。

看了一下你的需求,将计算的过程放到list中,计算的结果放在当前textbox中,那么请问,什么情况下做计算动作?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-08-18 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:147万
展开全部
那就在其它事件里写 别写在 changedtext。。 比如
KeyPress下 判断输入是否为Enter之类的终结字符进行给值
也可以在比如Leave事件去做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式