2017-08-17 6 views
-1

ドキュメントのグループを読み込んで新しいフォームを表示するアプリケーションがある特定の値が見つかりました。私の問題は、アプリケーションがファイルを読み込んでいて、どのように表示されているのかということです。私は見つけることができませんどのような複数のフォームを表示するfrom.show()を停止する方法

enter image description here

は、最初のフォームが閉じられていた前に、次のファイルに移動するからこれを停止する方法です。私は.ShowDialog()を試しましたが、これは私が試しているものでは機能しません。

私の現在のコードは次の通りである:

foreach (FileInfo fi in rgFiles) 
{ 
    current++; 
    fileProcessBar.Value = current/count * 60 + 40;     

    string[] alllines = File.ReadAllLines(fi.FullName); 

    CreateForm CF = new CreateForm(fi.FullName); 


    for (int i = 0; i < alllines.Length; i++) 
    { 

     if (alllines[i].Contains("$")) 
     { 
      // prompt 
      int dollarIndex = alllines[i].IndexOf("--"); 
      Regex regex = new Regex(@"(--.{1,100})"); 
      var chars = regex.Match(alllines[i]).ToString(); 

      string PromptText = chars.Replace("-", ""); 

      CF.AddToCanvas(PromptText); 
      CF.Show();                 
     } 

    } 
} 

私は多分別のforeachループを追加すると思ったがform2近い

+0

これはモーダルなので、コードを続ける前にウィンドウを閉じる必要がありますか? – BugFinder

+1

'私は.ShowDialog()を試しましたが、これは私が試しているところではうまくいかないでしょう。どうしたら"うまくいかないのですか? – EpicKip

+0

@BugFinder、それは正しいです。別に入力する前にウィンドウを閉じる必要があるので、問題は、私が 'showDialog'を使用する場合です。これは、すべての関連情報をダイアログボックスに入力して、大量のウィンドウが表示されることを意味します。 – Tom

答えて

1

を占めないように、あなたが単にごとのファイル1つのフォームを開きたいようで、そのフォームが閉じられるまでブロックします。その場合は試してみてください

foreach (FileInfo fi in rgFiles) 
{ 
    current++; 
    fileProcessBar.Value = current/count * 60 + 40;     
    string[] alllines = File.ReadAllLines(fi.FullName); 

    // Ensure that resources are released. 
    using (CreateForm CF = new CreateForm(fi.FullName)) 
    { 
     for (int i = 0; i < alllines.Length; i++) 
     { 
      if (alllines[i].Contains("$")) 
      { 
       int dollarIndex = alllines[i].IndexOf("--"); 
       Regex regex = new Regex(@"(--.{1,100})"); 
       var chars = regex.Match(alllines[i]).ToString(); 
       string PromptText = chars.Replace("-", ""); 

       CF.AddToCanvas(PromptText); 
       CF.ShowDialog(); // This should block until closed. 
      } 
     } 
    } 
} 

私はこれが役に立ちそうです。

関連する問題