C#中如何用数组操作Textbox?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中如何用数组操作Textbox?相关的知识,希望对你有一定的参考价值。
我在c#的form里拖了好几个textbox控件,现在想用一个数组和它们绑定,就是操作数组的元素使对应的textbox控件内的数据有相应变化,但是c#里指针不太好使,有没有啥比较有效的办法,我的textbox控件已经生成了,重写onkeypress貌似没太大作用吧?求高手!!!
建议用事件的方式,更新textbox。思路:创建一个类,这个类封装了要操作的数组。这个类发布事件,在数组某项的值改变的时触发。
在form里创建上面的类的一个对象,注册这个对象的事件,用一个事件处理方法处理事件。 可以灵活运用textbox的Tag属性,它用于保存自定义数据,写代码的时候能方便一些。 参考技术A 怎么操作?如果只是把数组内的字符串赋值给textbox,那太简单了,和指针没半点关系。如果是数组元素变化,要textbox内的数据随之变化,那需要用到事件。每次数组内容变化时触发这个事件,在事件的注册代码中让textbox内容变化就行了。 参考技术B 用foreach来获取这些控件,然后再保存到数组吧,用is来判断该控件是不是textbox就可以了 参考技术C textbox.text=arr[num];
.........
把这些赋值放到一个方法中,你数据有变化的时候再调用一下赋值方法。 参考技术D 如果是不允许复制粘贴就把ShortcutsEnabled 属性设置为false就可以了。
另外,虚机团上产品团购,超级便宜
c#中如何用list对文本文件中的词语按行去重并统计每个词语的次数
问题1:“文本1”中按行存放词语,不但要去重,还要把所有词语出现的次数统计出来,结果如“文本2”。
问题2:针对“文本2”按照词语次数的大小降序排列,结果如“文本3”。
这样的问题用Linq处理非常方便!
1)代码如下:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
class Program
static void Main(string[] args)
//从文本文件中读出所有行
string[] lines = File.ReadAllLines("文本1.txt");
//构造一个Linq查询
var qry = from s in lines
group s by s into ws
orderby ws.Count() descending
select new
Num= ws.Count(),
Word = ws.Key
;
//将结果写入文件
StreamWriter w = File.CreateText("文本3.txt");
foreach (var item in qry)
w.WriteLine(string.Format("0 1", item.Word, item.Num));
w.Close();
2)文本1.txt的内容
3)文本3.txt的内容(运行结果)
追问非常感谢。您这个是用了SQL查询方面的语句吗,
这个方面没接触过,不是很懂。另外就是,在一个文件夹下如果有很多类似的“文本1”需要进行处理(也就是说批处理),这个怎么实现。还有能够不用那个查询语句实现吗。麻烦大神附上代码,谢谢。
用StreamReader 读入内存,然后定义语句变量
用 while ((line = sr.ReadLine()) != null)一行一行读入
然后相同变量相加。最后统计出来后写入
list中,代码不放了,自己想 参考技术B 不需要用到list吧。
直接逐行读取出来就是 字符串数组 了。
以上是关于C#中如何用数组操作Textbox?的主要内容,如果未能解决你的问题,请参考以下文章
C#中如何用Linq在SQL Server的表中多列检索多个关键字