2014-10-04 96 views
0

我有一個while循環,每次每個循環結束時,我都會打印一個信息框以顯示結果。當點擊「確定」按鈕時,循環繼續。我想要的是將我的結果打印到主窗體中的文本框中,並且在主窗體中捕獲鼠標單擊時,循環將繼續。 有什麼想法?等待窗體鼠標單擊

代碼:

private void button1_Click(object sender, EventArgs e) 
    { 
     StreamReader sr = new StreamReader(File.OpenRead(path)); //read file 
     string line = string.Empty; 
     while ((line = sr.ReadLine()) != null) 
     { 
      string iw = encode.I_type(line);  //doWork 
      textBox1.Text = (iw); 
      label6.Text = (iw.Length).ToString(); 
      string strHex = encode.add_digits(Convert.ToInt32(iw, 2).ToString("X"), 8); 

      textBox2.Text = strHex; 
      MessageBox.Show(line); // when hit ok, goes at the begining of the while loop 

     } 

回答

0

更改您的代碼以匹配您的模式:

private StreamReader sr; 
private void button1_Click(object sender, EventArgs e) 
{ 
    sr = new StreamReader(File.OpenRead(path)); //read file 
    ProcessOneLine(); 
} 
private void buttonNext_Click(object sender, EventArgs e) 
{ 
    ProcessOneLine(); 
} 
private void ProcessOneLine() 
{ 
    if (sr == null) 
     return; 
    string line = string.Empty; 
    line = sr.ReadLine() 
    if (line == null) 
    { 
     sr = null; 
     return; 
    } 
    string iw = encode.I_type(line);  //doWork 
    textBox1.Text = (iw); 
    label6.Text = (iw.Length).ToString(); 
    string strHex = encode.add_digits(Convert.ToInt32(iw, 2).ToString("X"), 8); 

    textBox2.Text = strHex; 
} 
+0

它的工作原理,但可使用此代碼時,輸​​入文件只有一行。在我輸入我的文件有一個必須進行編碼的源代碼。我如何使用這個多行並逐行讀取文件?謝謝 – 2014-10-04 17:37:16

+0

@StavrosAfxentis - 這樣可以逐行掃描文件。只要繼續點擊「下一步」按鈕來閱讀下一行。 – 2014-10-04 22:06:13