欢迎光临
我们一直在努力

用C#去除代码的SourceSafe管理(续篇)-.NET教程,C#语言

建站超值云服务器,限时71元/月

用c#去除代码的sourcesafe管理(续篇)

作者:秋枫

三、测试使用

程序测试运行界面,

界面部分代码大多数由设计器生成,下面列出了主要添加代码,

//委托,更新文本框

private delegate void appendtexthandler(string content);

//标记转换操作是否完成

private int convertok =0;

private system.windows.forms.textbox textboxfolder;//路径文本框

private system.windows.forms.button buttonfolder;//浏览按钮

private system.windows.forms.textbox textboxinfo;//信息显示框

private system.windows.forms.button buttonok;//运行按钮

private system.windows.forms.button buttoncancel;//退出按钮

按钮处理函数用来打开一个路径选择框,

private void buttonfolder_click(object sender, system.eventargs e)

{

folderbrowserdialog mydialog = new folderbrowserdialog();

mydialog.shownewfolderbutton = false;

mydialog.description = "选择需要处理的解决方案或项目目录";

if(mydialog.showdialog()==dialogresult.ok)

this.textboxfolder.text = mydialog.selectedpath;

mydialog.dispose();

}

运行函数,在这里面实例化vssconverter类,并调用了removevss方法,运行时把几个按钮禁了,里面注册了两个事件,起信息传递作用,不过对于直接在地址栏中输入非法路径没有做具体判断,

private void buttonok_click(object sender, system.eventargs e)

{

if(this.textboxfolder.text.length>1)

{

this.textboxinfo.clear();

this.convertok = 0;

this.buttonok.enabled = false;

this.buttonfolder.enabled = false;

this.buttoncancel.enabled = false;

this.textboxfolder.enabled = false;

vssconverter vssconverter = new vssconverter(this.textboxfolder.text);

vssconverter.operatenotify += new operatenotifyhandler(vssconverter_operatenotify);

vssconverter.threadcompleted += new eventhandler(vssconverter_threadcompleted);

vssconverter.removevss();

}

else

messagebox.show("请输入解决方案或项目路径!");

}

下面是两个事件处理函数,第一个是用来在前台即时显示当前处理的文件信息,第二个函数是用来通知线程的执行结果。函数如下,

// 信息通知

private void vssconverter_operatenotify(object sender, vsseventargs e)

{

appendtexthandler ath = new appendtexthandler(this.textboxinfo.appendtext);

this.textboxinfo.begininvoke(ath,new object[]{e.message+environment.newline});

}

// 线程结束通知

private void vssconverter_threadcompleted(object sender, eventargs e)

{

if(this.convertok==0)

this.convertok++;

else

{

this.buttonok.enabled = true;

this.buttonfolder.enabled = true;

this.buttoncancel.enabled = true;

this.textboxfolder.enabled = true;

this.textboxinfo.appendtext("#### 转换完成 ####");

}

}

总结,程序通过搜索指定目录下的文件,根据扩展名进行相应的操作来完成处理,其中为了加快运行速度增加了线程来处理。欢迎大家交流,我的邮件地址zhzuocn@163.com. csdn技术论坛。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用C#去除代码的SourceSafe管理(续篇)-.NET教程,C#语言
分享到: 更多 (0)

相关推荐

  • 暂无文章