treeview节点点击事件

treeview节点点击事件
treeview节点点击事件

//选择节点的事件,控件自带

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)

{

if(e.Action == TreeViewAction.ByMouse)//判断是否由鼠标触发的

{

TreeNode TN = e.Node;//点击的节点

if(TN.Checked)//若是选中,遍历父节点,所属的父节点应为选中

{

if(TN.Parent != null)

{

TN.Parent.Checked = true;

if(TN.Parent.Parent != null)

{

TN.Parent.Parent.Checked = true;

}

}

DG_Check(TN,true); //本身节点之下还有子节点,遍历,全选中}

else//若是取消选中

{

DG_Check(TN, false);//本身节点之下还有子节点,遍历,全取消选中

if(TN.Parent != null)

{

//若有父节点,判断此次取消选中后,是否兄弟节点也是没选中?

TreeNode TNP = TN.Parent;

bool YXZ = false;//有选中的,以此来判断否兄弟节点也是没选中

foreach(TreeNode childTN in TNP.Nodes)

{

//选择节点的事件,控件自带

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)

{

if(e.Action == TreeViewAction.ByMouse)//判断是否由鼠标触发的

{

TreeNode TN = e.Node;//点击的节点

if(TN.Checked)//若是选中,遍历父节点,所属的父节点应为选中

{

if(TN.Parent != null)

{

TN.Parent.Checked = true;

if(TN.Parent.Parent != null)

{

TN.Parent.Parent.Checked = true;

}

}

DG_Check(TN,true); //本身节点之下还有子节点,遍历,全选中}

else//若是取消选中

{

DG_Check(TN, false);//本身节点之下还有子节点,遍历,全取消选中

if(TN.Parent != null)

{

//若有父节点,判断此次取消选中后,是否兄弟节点也是没选中

TreeNode TNP = TN.Parent;

bool YXZ = false;//有选中的,以此来判断否兄弟节点也是没选中

foreach(TreeNode childTN in TNP.Nodes)

{

if(childTN.Checked)

{

YXZ = true;//还有选中的兄弟节点

break;

}

}

TNP.Checked = YXZ;//将遍历结果赋给父节点

}

}

}

}

private void DG_Check(TreeNode TN,bool flag)

{

if(TN.Nodes.Count > 0)

{

foreach(TreeNode childTN in TN.Nodes)

{

childTN.Checked = flag;

DG_Check(childTN,flag);

}

}

}

}

}

private void DG_Check(TreeNode TN,bool flag)

{

if(TN.Nodes.Count > 0)

{

foreach(TreeNode childTN in TN.Nodes)

{

childTN.Checked = flag;

DG_Check(childTN,flag);

}

}

}

安卓按钮单击事件

第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式。上面的程序代码就是匿名内部类来创建事件监听器的!!! 对于使用匿名内部类作为监听器的形式来说,唯一的缺点就是匿名内部类的语法有点不易掌握,如果读者java基础扎实,匿名内部类的语法掌握较好,通常建议使用匿名内部类作为监听器。 第二种:内部类作为监听器 将事件监听器类定义成当前类的内部类。1、使用内部类可以在当前类中复用监听器类,因为监听器类是外部类的内部类,2、所以可以自由访问外部类的所有界面组件。这也是内部类的两个优势。上面代码就是内部类的形式!! 第三种:Activity本身作为事件监听器

这种形式使用activity本身作为监听器类,可以直接在activity类中定义事件处理器方法,这种形式非常简洁。但这种做法有两个缺点:(1)这种形式可能造成程序结构混乱。Activity 的主要职责应该是完成界面初始化;但此时还需包含事件处理器方法,从而引起混乱。(2)如果activity界面类需要实现监听器接口,让人感觉比较怪异。 上面的程序让Activity类实现了OnClickListener事件监听接口,从而可以在该Activity类中直接定义事件处理器方法:onClick(view v),当为某个组件添加该事件监听器对象时,直接使用this作为事件监听器对象即可。 第四种:外部类作为监听器 ButtonTest类 当用户单击button按钮时,程序将会触发MyButtonListener监听器 外部MyButtonListener类

委托及事件响应button_click

C#事件及响应方法——让你明白private void button1_Click(object se nder, System.EventArgs e) C#语言自C/C++演变而来。它是现代、简单、完全面向对象和类型安全的。C#语言是微软公司针对.Net平台才推出来的一门新语言,作为.Net平台的第一语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理…… 在.NET应用程序开发中,不管是WEB Forms(https://www.360docs.net/doc/7118548807.html,)还是Windows Forms,都涉及到大量对象的事件响应及处理,比如客户在线提交一份订单、或是在Windows窗口上移动鼠标等都将有事件发生。那么在C#中,是怎样声明事件并为事件添加响应方法的呢?下面的文章对此为大家作了详细的讲述。 原理简介 在C#中,一个类可以有域(Fields)、属性(Properties)、方法(Methods)、索引(Ind exs)、事件(Events)等成员,其中事件(Events)成员就是用来声明一个类事件的。在类中声明一个事件成员一般采用如下的语法形式: public event 代表名事件名。 如在Control类中声明了一个Click事件成员,其语法如下: public event EventHandler Click; 在C#中,增加了一个新的数据类型delegate(代表)来解决事件处理问题。代表数 据类型非常类似于C语言中的指针,其与指针不同的是,其是代码是安全的,可管理的。 由于C#本身的简易性,对于没有使用过C及指针的程序来说,理解delegate也是非常容易的。 在C#中,通过使用delegate,你可以通过“+=”(加等于)操作符非常容易地为.Ne t对象中的一个事件添加一个甚至多个响应方法;还可以通过非常简单的“-=”(减等于)操作符取消这些响应方法。如下面为temp按钮添加Click事件的语句: temp.Click+=new System.EventHandler(this.Test);//为test添加事件处理方 法 在上面声明事件的语句中,Eventhandler是一个delegate(代表)类型,其在.Net类库中如下声明的: public delegate void EventHandler(object sender,EventArgs e); 这样,所有形如:void 函娄名(object 参数名,EventArgs参数名);的函数都可以作为Co ntrol类的Click事件响应方法了。如下面所定义的一个事件响应方法: private void button1_Click(object sender, System.EventArgs e)

HTML Button.onclick 事件汇总

HTML Button.onclick 事件汇总 关于web设计中的命名标准 #page #header #logo #sm (servicemenu) .regsiter .login #nav .menu .subMenu .search .sreachbtn(搜索按钮).sreachinput(搜索输入 框) #container .bread [#areaSidebar] #sidebar .title .service .news .newslist .piclist .hot .msg(提示信息) .download .tab .list .accordion [#areaBanner] #content .contentMain .input .select .note .summary

怎样把照片批量重命名成学生姓名

怎样把照片批量重命名成学生姓名? 学生姓名来源于excel,照片是序列和excel的姓名相对应,用什么方法快速处理 回答: 可以使用系统自带的批量命名程序,也可以用ACDSee 和Adobe Bridge,他们都有一个批量重命名的功能,都可以选择非图片文件一次批量重命名。对电脑熟悉的话你可以用下面这个: 先在打开含有报考信息的Excel文档,假设学号在第A列,姓名在第B列,身份证号在第C列等等,则在第一条学生信息后的空白单元格中输入“="ren "&A2&".jpg "&C2&".jpg"”(不包括外引号,注意,这里的A2是指第A列的第二行,因为第一行一般是字段名:学号、姓名等,如果没有字段那么这里的公式里就应该是A1、B1,有两行字段那么就应该是A3、B3),回车会得到一个类似“ren 200600001.jpg XXXXXXXXXXXXX.jpg”的DOS命令。 2.点击该单元格右下角的填充柄,将公式应用到所有学生,复制此列所的数据。 3.新建一个记事本,粘贴复制的内容,得到的就是文件重命名的DOS命令。 4.将该文件保存到学生照片文件夹下(学生照片文件夹是复制后的,这样不会破坏原有数据),将扩展名".txt"

改为".bat",这时只要双击该文件,就会自动将我们所需要的以学号命名的图片重命名为以身份证号命名的图片文件了。 5.接下来单击右键更改文件的排序方式,一般最前面或者最后面的文件就是我们所需要的图片了。 这个的好处是可以将照片以身份证号或者学号重命名,学生的话一般都有学号的吧。 系统自带的批量命名程序就是指:把execl的学生姓名和编号两栏导出成txt格式,然后打开txt,在每行前面用替换功能加上"rename ",然后在编号和名字后边都加上.jpg,然后保存成bat,放在照片的文件夹,执行bat。然后就OK了。希望你成功 可以用批处理实现 把execl的学生姓名和编号两栏导出成txt格式,然后打开txt,在每行前面用替换功能加上"rename ",然后在编号和名字后边都加上.jpg,然后保存成bat,放在照片的文件夹,执 行bat. 标签:excel重命名学号dos命令身份证号分类:学籍管理2010-04-20 20:07 学生照片根据EXCEL中的学生学号或其它信息重命名批量重命名 学生姓名来源于excel,照片是序列和excel的姓名相对应。1,进入到需要重命名文件的文件夹中,新建一个txt文件,内容为dir *.jpg /b>ren.bat(假如你要重命名的是图片的话,

电子照片批量重命名的方法

电子照片批量重命名的 方法 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

怎样把照片批量重命名成学生姓名 学生姓名来源于excel,照片是序列和excel的姓名相对应,用什么方法快速处理 回答: 1、先在打开含有报考信息的Excel文档,假设学号在第A列,姓名在第B列,身份证号在第C列等等,则在第一条学生信息后的空白单元格中输入“="ren"&A2&".jpg"&C2&".jpg"”(不包括外引号,注意,这里的A2是指第A列的第二行,因为第一行一般是字段名:学号、姓名等,如果没有字段那么这里的公式里就应该是A1、B1,有两行字段那么就应该是A3、B3),回车会得到一个类似 “renXXXXXXXXXXXXX.jpg”的DOS命令。 2.点击该单元格右下角的填充柄,将公式应用到所有学生,复制此列所的数据。 3.新建一个记事本,粘贴复制的内容,得到的就是文件重命名的DOS命令。 4.将该文件保存到学生照片文件夹下(学生照片文件夹是复制后的,这样不会破坏原有数据),将扩展名".txt"改为".bat",这时只要双击该文件,就会自动将我们所需要的以学号命名的图片重命名为以身份证号命名的图片文件了。 5.接下来单击右键更改文件的排序方式,一般最前面或者最后面的文件就是我们所需要的图片了。 这个的好处是可以将照片以身份证号或者学号重命名,学生的话一般都有学号的吧。 再解释一遍: 1、Excel文档中,假设学号在第A列,姓名在第B列,身份证号在第C列等等,则在第一条学生信息后的空白单元格中输入 ="ren"&A2&".jpg"&C2&".jpg"(ren后有空格,前一个jpg后有空格;意

利用EXCEL为图片批量重命名

利用E X C E L为图片批 量重命名 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

利用E X C E L为照片批量重命名 一、准备照片。事前按照学籍顺序将学生排好序列,然后逐一拍照,完成后将相片文件拷到电脑上备用,如存放在“D:\photo”文件夹内。 二、巧用EXCEL填充柄,批量建立改名命令行。第一步:打开EXCEL软件。在A列中输入照片名“DSCN0001.JPG”,然后用填充柄向下拖动,一直到合适的数字为止。然后,在B列中以学生的学号等信息输入“.JPG”并用填充柄向下拖动直到合适的位置停止。第二步:在C列中输入以下内容“="REN "&A1&" "&B1&""”(注意:外侧双引号不用输入,内部双引号必需是在英文状态下输入)后按下回车键,即可出现相应结果。 第三步:向下拖动该单元格的填充柄,直至对应左侧的内容。最终效果如图所示。最后将C列中的全部内容选中并进行复制。●这是利用EXCEL填充句柄批量生成的重命名命令。 四、建立“重命名”批处理命令。在D:\photo文件夹下单击鼠标右键,选择新建“文本文档”命令。然后将该文件名改为“重命名.BAT”。右击该文件,选择“编辑”命令,进入该批处理文件的编辑状态。在编辑空白区右击,选择“粘贴”,将刚才EXCEL文件中C列中的内容复制到这里。然后存盘并退出。五、运行“重命名.BAT”进行批量更名。回到“D:\photo”文件夹后,直接双击运行“重命名.BAT”。这时,你会发现所有的相片文件名都已经整整齐齐地更改为我们需要的文件名了。 注:命令可复制以下字段:="REN "&A1&" "&B1&""

如何批量修改照片名称

如何批量修改照片名称 现在个人电脑文件是越来越多的,对文件名进行统一规范的修改例如批量更改文件名就是其中一项大家经常使用到的功能。那有木有办法批量更改类似这样的文件名呢?如何批量更改文件名?现在推荐给您一款非常方便实用的改名软件,它就是狸涡批量修改文件名软件。 这款软件非常小哦!只有差不过3MB左右。麻雀虽小却五脏俱全,功能十分强大!在等待安装下载后,打开这款软件,软件界面右侧“文件夹”位置找到你要更改文件名的文件位置: 找出我的电影 在狸涡批量修改文件名软件主界面上可以先对你要修改的文件进行选中,像小编我都要更改这些电影的名字,小编就“ctrl+A”全选了:

选中需更改的文件 特别注意了:狸涡批量修改文件名软件单单不只是带有更改文件名的功能,还具有其他例如图片转换格式以及MD5效验工具等功能,不可多得的一款多功能又好用的软件啊!你能不心动?当然今天,我们只需要它的批量文件改名功能:在软件界面上方选择“工具”菜单中的“批量修改文件名”:

点开后启动了《批量修改文件名软件》界面: 这里我批量更改文件名需要“替换”功能,替换改名就是将原有的文件名字符,自动替换成想要的文件名字符,这个功能对于希望修改批量字符文件的用户真的是太实用了。 例如我要把电影文件名中的前缀批量去掉,就在“替换”中“替换文件中的字符”把前缀网站替换成“”,在批量修改文件名软件界面的右侧,我们可以看到预览的效果

然后“开始重命名”,一会儿就会弹出“提示信息”窗口。就是标明处理成功了!同时在软件右侧预览位置标明了“结果”为“成功”! 现在回到之前的文件夹里面看看:前面的文件名字幕已经不存在了!整整变成清爽的电影名有木有: 教程工具>>>:狸涡批量修改文件名软件

用ecel批量更改照片的名字

用EXCEL批量更改照片的名字 1、准备照片。 事前按照学籍或班级顺序将学生排好序列,然后逐一拍照,完成后将相片文件拷到电脑上备用,如存放在“D:\photo”文件夹内。 2、巧用EXCEL填充柄,批量建立改名命令行。 第一步:打开EXCEL软件。在A列中输入照片原文件名如“DSCN0001.JPG”,然后用填充柄向下拖动,一直到合适的数字为止(不能用填充柄向下填充的话,可逐一更改)。然后,在B列中输入学生的身份证信息如“430502”。(或者把信息表中的学生身份证信息复制粘贴过来,要确保照片号与身份证号都是同一个学生) 第二步:在C2单元格中输入“.jpg”,然后在D列中输入公式:“=B2&C2”(注意:外侧双引号不要输入),然后用填充柄拖动到适当位置,在D列中生成以身份证命名的照片的所有文件名。然后再在E2单元格中输入以下内容“="ren "&A2&" "&D2&""”(注意:外侧双引号不用输入,内部双引号必需是在英文状态下输入)后按下回车键,拖动填充柄到适当位置,这里的REN其实就是DOS中的重命名命令,本例中这句命令的意思是将A 列中的名字重命名为D列中对应的名字,这条命令在EXCEL中无法使用,仅用来以备以后用。 图用EXCEL批量生成命令的示意图 3、建立“重命名”批处理命令。 在D:\photo文件夹下(1)单击鼠标右键,选择新建“文本文档”命令。打开该文档,(2)点“文件”――“另存为”――“保存类型”为“所有文件”,文件名为“重命名.bat”。单击“保存”退出。(3)然后右击该文件,选择“编辑”命令,进入该批处理文件的编辑状态。在编辑空白区右击,选择“粘贴”,将刚才EXCEL文件中E列中的内容复制到这里,然后单击“保存”并退出。 4、运行“重命名.bat”进行批量更名。 回到“D:\photo”文件夹后,直接双击运行文件“重命名.bat”。这时,你会发现所有的相片文件名都已经整整齐齐地更改为我们需要的文件名了。原来的照片是用姓名或报名号命名的情况,只要有与之对应的身份证信息,同样适用本方法。 注意:1、批处理文件要与照片放在同一个文件夹下。

在ppt中的按钮事件

在ppt中的按钮事件 2010-09-03 16:40 要想实现标题所示的效果,得使用VBA来实现! 一:首先介绍如何插入Flash影片 单击“视图/工具栏/控件工具箱”,选择“其他控件/ShoCkwave Flash Object”,在幻灯片中用鼠标拖出一个方框,调整好大小。这样,我们用插入控件的方法插入一个Flash控件,选择当前控件,在“属性”面板中作如下设置:“MovIE”中填入所需的Flash影片名称,“名称”就用默认的“ShockwaveFlash1”,这个名称在后面的VBA编程中要用到。 二:插入命令按钮 ①制作(播放)按钮 在“控件工具箱”中选择“命令按钮”,在幻灯片中拖动,即可拖出一个命令按钮。调整好大小,在“属性”面板中作如下设置:“名称”中输入 “Cmd_play”,“Caption”中输入“播放”。双击该按钮,进入VBA编辑窗口,输入如下内容: Private Sub Cmd_play_Click() ShoCkwaveFlash1.Playing = True End Sub ②制作(暂停)、(前进)、(后退)、(返回)、(结束)按钮 按钮制作的方法同上。“属性”面板中分别作如下设置:暂停按钮的“名称”为“Cmd_pause”,“Caption”为“暂停”;前进按钮按钮的“名称”为“cmd_forward”,“Caption”为“前进”;后退按钮的“名称”为 “cmd_back”,“Caption”为“后退”;返回按钮的“名称”为“cmd_start”,“Caption”为“返回”;结束按钮的“名称”为“cmd_end”,“Caption”为“结束”。 分别为各个按钮加上VBA,命令依次如下: Private Sub Cmd_pause_Click() ShoCkwaveFlash1.Playing = False End Sub Private Sub Cmd_forward_Click() ShoCkwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum + 30 ShoCkwaveFlash1.Playing = True End Sub Private Sub Cmd_back_Click() ShoCkwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum - 30 ShoCkwaveFlash1.Playing = True End Sub Private Sub Cmd_start_Click() ShoCkwaveFlash1.FrameNum = 1 ShoCkwaveFlash1.Playing = True End Sub

批量修改图片名称(补充)

问题描述:文件夹下面的照片格式太乱,要统一改成数字+‘.jpg’的形式,例如:10086.jpg; 处理一: https://www.360docs.net/doc/7118548807.html,/view/7b15588bd0d233d4b14e6981.html 在上述网址里,挖了一点代码: @echo off&setlocal EnableDelayedExpansion set a=1 for /f "delims=" %%i in ('dir /b *.rm') do ( if not "%%~ni"=="%~n0" ( if !a! LSS 10 (ren "%%i" "b0!a!.rm") else ren "%%i" "b!a!.rm" set/a a+=1 ) ) 修改一下: @echo off&setlocal EnableDelayedExpansion set a=1 for /f "delims=" %%i in ('dir /b *.png') do ( if not "%%~ni"=="%~n0" ( ren "%%i" "*.jpg" set/a a+=1 ) ) 这段代码可以实现改文件的后缀名,堪称神器啊!!! 但是,对于文件名中的字母过滤,做不到,需要进一步研究BAT编程,目前没有攻下来!!

同事的解法: /* * 功能:将后缀格式化、将文件名中的w的去掉; * 限制:w都被替换掉了! */ @echo off&setlocal EnableDelayedExpansion set a=1 for /f "delims=" %%i in ('dir /b *.JPG','dir /b *.jpg','dir /b *.png') do ( if not "%%~ni"=="%~n0" ( set "h=%%i" set "h=!h:w=!" set "h=!h:.jpg.jpg=.jpg!" set "h=!h:.png=.jpg!" set "h=!h:.bmp=.jpg!" set "h=!h:.JPG=.jpg!" ren "%%i" "!h!" set/a a+=1 ) ) 处理二:找JAVA 网上搜了一下,稍加修改,可以完全达到要求; import java.io.*; public class Rename { /** * @param args * @throws IOException * D:\\jjjg_photo\\members * D:\\jjjg_photo\\head\\location * D:\\jjjg_photo\\head\\outlook * D:\\jjjg_photo\\fz\\location * D:\\jjjg_photo\\fz\\outlook */ public static void main(String[] args) throws IOException { // String d="D:\\jjjg_photo\\members"; // String d="D:\\jjjg_photo\\head\\location"; // String d="D:\\jjjg_photo\\head\\outlook"; // String d="D:\\jjjg_photo\\fz\\location";

学生照片姓名批量修改

批量修改文件名在学校用得较多,尤其是对学生信息进行采集时,把照好的照片,更改为学生的姓名、学号或其它内容。我们使用excel中的学生数据,利用excel中的公式和填充,结合DOS命令,可以方便的实现这个操作。 前提:照片名字和学生信息有特定的规律,如照片以某一序号命名,而学生信息与之也有对应的关系。 这里以把照片名字批量更改为学生姓名为例,说一下方法。 步骤1: 在excel中,如果A列是学生序号,B列是学生姓名,可以事先把学生姓名按照序号排列好,备用。 在照片文件夹中,新建一个文本文件,内容为“dir *.jpg /b>图片文件列表.txt”保存后,将此文本文件更成BAT格式,双击运行此文件,会生成一个“图片文件列表.txt”的文件,打开此文件,会看到文件夹中所有照片的文件名。将这些内容复制到excel中放在C列,粘贴时可使用选择性粘贴中的文本格式,此时学生姓名应该与照片的文件名是一一对应的关系,如果不一致,应该先对照片名进行整理后再进行复制。 最终,在excel中,A列是学生序号,B列是学生姓名,C列是照片名,一一对应无差错。 如图所示: 步骤2: 在D2单元格输入以下红字内容="ren "&c2&" "&b2&".jpg" (空格和引号不能省略)回车确认后,D2中显示诸如以下内容“ren DSC0001.JPG 张三.jpg”,将此公式利用填充柄填充到D列其它单元格中,D列的内容就是更改文件名的DOS命令。 如图所示:

步骤3: 在照片文件夹中,新建一个文本文件,将D列的内容复制到此文件中,保存后,将文本文件更改为BAT格式,比如ren.bat双击此文件就可以把所有照片的名字更改为学生姓名。

Button按钮的四种点击方式

Button按钮的四种点击方式 第一种:直接在代码中设置按钮的点击事件即可 private Button btn; private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/7118548807.html,yout.activity_main3); btn = ((Button) findViewById(R.id.btn)); iv = ((ImageView) findViewById(R.id.iv)); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //第一种点击方式 Toast.makeText(Main3Activity.this,"第一种点击方式",Toast.LENGTH_SHORT).show(); } }); 第二种:在xml布局按钮的属性加上onClick=“...”,然后在代码中撰写该方法即可

相关文档
最新文档