首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
tellmenow (22)
cutemouse (22)
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
CSDN - 文档中心 - .NET 阅读:4254   评论: 4    参与评论
标题   用C#去除代码的SourceSafe管理(续篇)     选择自 zhzuo 的 Blog
关键字   C# SourceSafe
出处  

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技术论坛。

 

 


相关文章
对该文的评论
wincore ( 2005-03-09)
取消源代码管理绑定是不能解决问题的。
因为那些文件并不会帮你自动删除
CSDN 网友 ( 2004-07-08)
干嘛要这么累啊,取消源代码管理绑定不就完事了吗?
CSDN 网友 ( 2004-07-06)
开放ASP.NET + C#开发客户服务系统源代码
演示地址:http://www.szlon.com
CSDN 网友 ( 2004-06-16)
VssConverter这个类是那里来的