1.TreeView 中如何根据 Node名得到index
Tv1.Name="节点1";
Tv1.Nodes[节点1].Checked = true;// 在遍历的时候就不会引发index下标越界的错误了,特别是多次遍历集合的时候
,这样就可以避免越界了,直接根据赋值的Name名称来给Checked赋值;
2.移除字符串中的相同字符
string str = "1,22,333,4,5,1,22,333,6,7,";//要拆分的字符串
ArrayList al = new ArrayList();
string[] arr = str.Split(',');//拆分后的字符数组
for (int i = 0; i < arr.Length; i++)
{
if (al.Contains(arr[i]) == false)//判断 要拆分的字符串 中是否已经存在于这个ArrayList中
{
al.Add(arr[i]);//不存在则添加进ArrayList
}
else
{ break;// 删除一个重复字符
//al.Remove(arr[i]);//存在则从ArrayList中删除2个
}
}
Response.Write(String.Join(",",(string[])al.ToArray(typeof(string))));//把ArrayList里的数组值组合成一个字符串
3. 如何在TreeView里面 勾选Checked,且放入ArrayList,并且根据Combobox加载树中的所选分区列表;
根据tv里的AfterCheck事件得到每次勾选的Checked的记录值,
if(e.Node.Checked)
{
if(!arrList.Contains(e.Node.Name))
{
arrList.Add(e.Node.Name);
}
}
else
{
if(arrList.Contains(e.Node.Name))
{
arrList.Remove(e.Node.Name);
}
}
这样,arrList里面存放的就是当前勾选的值了。也就是说,你选择就存入ArrayList,否则就不存。
以下代码是根据通道列表遍历所选分区:
private void RepeatForChannels()
{
for(int i= 0 ; i< 通道列表; i++)
{
for(int j= 0; j < treeView.Nodes.Count; j++)
{
for(int jj=0 ; jj < arrayList.Count; jj++)
{
if(treeView.Nodes[j].Name == arrayList[jj].Tostring())
{
treeView.Nodes[j].Checked = true;
}
}
}
}
}
把RepeatForChannels放入Form_Load和 Combobox_SelectIndexChanged事件中,每次就可以把所选的分区列表根据通道来显示出来了。
4.C#多线程强制退出程序
最近在学习多线程程序的开发,但是启动了多个线程的程序在关闭的时候却出现了问题,如果程序退出的时候不关闭线程,那么线程就会一直的存在,但是大多启动的线程都是局部变量,不能一一的关闭,如果调用Thread.CurrentThread.Abort()方法关闭主线程的话,就会出现ThreadAbortException 异常,因此这样不行。
后来找到了这个办法:
Thread.IsBackground 设置线程为后台线程。
msdn 对前台线程和后台线程的解释:托管线程或者是后台线程,或者是前台线程。后台线程不会使托管执行环境处于活动状态,除此之外,后台线程与前台线程是一样的。一旦所有前台线程在托管进程(其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭。通过设置 Thread.IsBackground 属性,可以将一个线程指定为后台线程或前台线程。例如,通过将 Thread.IsBackground 设置为 true,就可以将线程指定为后台线程。同样,通过将 IsBackground 设置为 false,就可以将线程指定为前台线程。从非托管代码进入托管执行环境的所有线程都被标记为后台线程。通过创建并启动新的 Thread 对象而生成的所有线程都是前台线程。如果要创建希望用来侦听某些活动(如套接字连接)的前台线程,则应将 Thread.IsBackground 设置为 true,以便进程可以终止。
所以解决办法就是在主线程初始化的时候,设置:
Thread.CurrentThread.IsBackground = true;
这样,主线程就是后台线程,在关闭主程序的时候就会关闭主线程,从而关闭所有线程。
但是这样的话,就会强制关闭所有正在执行的线程,所以在关闭的时候要对线程工作的结果保存。
——————————————
C#程序的几种退出
1.Application.Exit(); //好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵
2.System.Environment.Exit(0); //无论在主线程和其它线程,只要执行了这句,都可以把程序结束干净
3.this.Close();
4.Application.ExitThread();
5. Treeview中的图标不能正常显示
XP系统中,使用Application.EnableVisualStyles后,Treeview中的图标不能正常显示!
this.TreeView.BeginUpdate();
//处理操作
//this.TreeView.EndUpdate();
这样TreeView出来之后节点就不会显示不全了。
分享到:
相关推荐
插入排序 - 希尔排序][二十例 交换排序 - 快速排序][二一例 算法求解应用][二二例 跟踪调试代码 XDebug][二三例 接口调试工具 SocketLog][二四例 递归 尾递归 迭代 回调][二五例 数据库操作(MySQL扩展)][二六例 ...
[第一例 留言板][第二例 gRPC使用例子][第三例 基于go-micro做服务注册和服务发现][第四例 聊天室][第五例 工具库][第六例 原生sql操作][第七例 sqlx操作][第八例 Redis数据库(gomodule/redigo)][第九例 Redis消息...
MLX90640开发笔记(二)API移植-I2C和关键接口函数 MLX90640开发笔记(三)工作流程和操作MLX90640的一般步骤 MLX90640开发笔记(四)损坏和不良像素的处理 MLX90640开发笔记(五)阵列插值-由32*24像素到512*384...
第二章 业务逻辑概述和系统需求分析 5 2.1 业务逻辑概述 5 2.2 用例图 6 2.3 功能需求 6 2.4 性能需求 6 第三章 功能分析 7 3.1 系统功能结构 7 3.2 数据库设计 7 3.2.2 数据库概述 7 第四章 系统实现 8 4.1 登录...
是作者自己在研究生三年的ArcEngine92开发的实践过程中一点一滴积累起来的财富,相信笔记中记录的66个实例也是你ArcEngine二次开发中遇到的难题,因为现在已经很少接触GIS二次开发,所以将之前的工作总结贡献出来。...
斯蒂芬•P•罗宾斯《管理学》笔记 第Ⅰ篇 绪论 第一章 管理者与组织导论 一、谁是管理者 (1)管理者:组织中指挥他人活动的人,他们拥有各种头衔。 (2)操作者:非管理人员,他们直接从事某项工作或任务,不...
本人学习的国嵌笔记。操作详细! 第一季 精通嵌入式 4 一. 安装tftp服务器 4 二. Samba服务器安装 4 三. NFS服务器 5 四. 安装vsftpd FTP服务器 5 第2季-裸奔吧-ARM 6 一. 安装交叉编译器 6 二. 安装驱动 6 三...
小米笔记本12.5寸二代(m3-7y30 hd615)黑苹果专用EFI文件,制作黑苹果安装U盘时,用本EFI文件里面的clover替换U盘中的clover即可。WiFi,蓝牙,触摸板不工作,其他硬件均正常。
三大支撑工作流:配置和变更管理;项目管理和环境。 (每一个迭代中,都要经历这9个工作流) 四大特征:风险的优先考虑(分级,最重要的先考虑……)。 增量迭代开发与测试。 以架构为中心(稳定)。 用例驱动...
第二层是记录网站的每日详细状况,如:收入量、反向链接数量、关键词排名、今日所做工作...等等。登陆软件后的第一个界面,基本操作图片上已有大概说明。 点击“Goto”或“查看网站”按钮进入第第二个界面,如果是第...
课堂笔记,自己总结,一手资源 第一课 初始化ps设置: 启动ps时,按alt+shift+ctrl,ps会问是否还原初始设置,点是。 公司ps素材: 1、Ps原始素材:c:\progurame files\adobe\photoshop cs3\样本 2、中心ps素材:c...
这使得VIP版的诊断卡更适合于在恶劣环境下长期工作。 该VIP版笔记本诊断卡是三合一版诊断卡的升级版本,支持Mini PCI, Mini PCI-E, LPC总线接口。该诊断卡使用方便,稳定性好,是笔记本电脑维修的理想工具。 一:...
(笔记)电路设计(二)之串联匹配电阻的应用 (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用 (笔记)电路设计(四)之电容的应用 (笔记)电路设计(五)之电感的应用 (笔记)电路设计(六)之稳压二极管的应用 (笔记)电路设计...
* 第二序 相关阅读 * 第三序 留言板项目 * 第四序 调试工具 * 第五序 验证码 * 第六序 加密和解密 * 第七序 原生MySQL工具类 * 第八序 分页功能 * 第九序 算法 * 第十序 模板集群(多项目用到的模块)] * 第十一序 ...
第二节 信息管理工作 第三节 信息化管理 综合案例 案例一:2004年中国十大企业社会责任 案例二:先难后易的国际化战略 第二篇 决策与计划 第五章 决策与决策方法 第一节 决策与决策理论 第二节 决策过程 第三节 决策的...
mysql 总结........................................................................................................................................6 1.1 数据库的种类.......................................
近日经典书籍《TCP/IP路由技术卷一中文版》“第二版”已经在国内上市,此助读笔记的主 要作用就是帮助那些首次阅读该书的读者顺利完成学习,那些已阅读过此书的朋友也可以通 过该笔记进行快速的复习,同时也可以把该...
photoshop 笔记 第一节 认识图像 位图图像:由像素组成,每一个像素只记录一个颜色。 在屏幕上缩放位图图像时,它们可能会丢失细节,因为位图图像与分辨率有关。 矢量图像:由路径组成,每一个路径只记录一种填充...
过去二十多年,Marty Cagan作为高级产品经理人为多家一流企业工作过,包括惠普、网景、美国在线、eBay。他亲历了个人电脑 、互联网、 电子商务的起落沉浮。《启示录:打造用户喜爱的产品》从人员、流程、产品三个...
会计的概念 二.会计的基本职能 三.会计对象 四.会计的基本假设 五.会计基础 一.会计的概念 会计是以货币为主要计量单位,反映与监督一个单位经济活动的一种经济管理工作。 其特点: 1.会计是以货币为主要计量单位,...