熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

用C#去除代碼的SourceSafe管理(2)

2013-11-13 09:51:19  來源: .NET編程 

  三測試使用

  程序測試運行界面

  

  界面部分代碼大多數由設計器生成下面列出了主要添加代碼

  //委托更新文本框

  private delegate void AppendTextHandler(string content);

  //標記轉換操作是否完成

  private int convertOK =;

  private SystemWindowsFormsTextBox textBoxFolder;//路徑文本框

  private SystemWindowsFormsButton buttonFolder;//浏覽按鈕

  private SystemWindowsFormsTextBox textBoxInfo;//信息顯示框

  private SystemWindowsFormsButton buttonOK;//運行按鈕

  private SystemWindowsFormsButton buttonCancel;//退出按鈕

  按鈕處理函數用來打開一個路徑選擇框

  private void buttonFolder_Click(object sender SystemEventArgs e)

  {

  FolderBrowserDialog myDialog = new  FolderBrowserDialog();

  myDialogShowNewFolderButton = false;

  myDialogDescription = 選擇需要處理的解決方案或項目目錄;

  if(myDialogShowDialog()==DialogResultOK)

  thistextBoxFolderText = myDialogSelectedPath;

  myDialogDispose();

  }

  運行函數在這裡面實例化VssConverter類並調用了RemoveVss方法運行時把幾個按鈕禁了裡面注冊了兩個事件起信息傳遞作用不過對於直接在地址欄中輸入非法路徑沒有做具體判斷

  private void buttonOK_Click(object sender SystemEventArgs e)

  {

  if(thistextBoxFolderTextLength>)

  {

  thistextBoxInfoClear();

  nvertOK = ;

  thisbuttonOKEnabled = false;

  thisbuttonFolderEnabled = false;

  thisbuttonCancelEnabled = false;

  thistextBoxFolderEnabled = false;

  VssConverter vssConverter = new VssConverter(thistextBoxFolderText);

  vssConverterOperateNotify += new OperateNotifyHandler(vssConverter_OperateNotify);

  vssConverterThreadCompleted += new EventHandler(vssConverter_ThreadCompleted);

  vssConverterRemoveVss();

  }

  else

  MessageBoxShow(請輸入解決方案或項目路徑!);

  }

  下面是兩個事件處理函數第一個是用來在前台即時顯示當前處理的文件信息第二個函數是用來通知線程的執行結果函數如下

  // 信息通知

  private void vssConverter_OperateNotify(object sender VssEventArgs e)

  {

  AppendTextHandler ath = new AppendTextHandler(thistextBoxInfoAppendText);

  thistextBoxInfoBeginInvoke(athnew object[]{eMessage+EnvironmentNewLine});

  }

  // 線程結束通知

  private void vssConverter_ThreadCompleted(object sender EventArgs e)

  {

  if(nvertOK==)

  nvertOK++;

  else

  {

  thisbuttonOKEnabled = true;

  thisbuttonFolderEnabled = true;

  thisbuttonCancelEnabled = true;

  thistextBoxFolderEnabled = true;

  thistextBoxInfoAppendText(#### 轉換完成 ####);

  }

  }

  總結程序通過搜索指定目錄下的文件根據擴展名進行相應的操作來完成處理其中為了加快運行速度增加了線程來處理


From:http://tw.wingwit.com/Article/program/net/201311/11757.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.