2009-08-14 14 views
0

私は、テキストボックスのデータを取り込んで、無作為に生成されたテキストファイルに書き込むWindowsアプリケーションを持っています。次に、これらの個別のログファイルをすべてリストするリストボックスがあります。私がしたいのは、ボタンリストの後に選択されたテキストファイルのうち、選択されたもの、2番目、7番目、12番目、...、(2 + 5n)番目の行のファイル情報を別のリストボックスに表示させることです情報 'をクリックします。これはどのように可能ですか?最初のリストボックスを更新するlistBoxで選択されているファイル情報を取得する方法は?

私のコードは次のとおりです。あなたが選択した項目を取得したいSelectedIndexChangedイベントで

private void button2_Click(object sender, EventArgs e) 
    { 
     listBox1.Items.Clear(); 

     DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Ece\Documents\Testings"); 
     // What type of file do we want?... 

     FileInfo[] Files = dinfo.GetFiles("*.txt"); 
     // Iterate through each file, displaying only the name inside the listbox... 

     foreach (FileInfo file in Files) 
     { 
      listBox1.Items.Add(file.Name + "   " +file.CreationTime); 
     } 

    } 
+3

........何を! ?! – Gineer

答えて

3

。別のリストボックスに2番目の部分を表示することはお勧めしませんが、必要な場合は下の例からどのように作業できるかは確かです。私は個人的にリッチテキストボックスを持っているし、そこにファイルを読んでいました:

//Get the FileInfo from the ListBox Selected Item 
FileInfo SelectedFileInfo = (FileInfo) listBox.SelectedItem; 

//Open a stream to read the file 
StreamReader FileRead = new StreamReader(SelectedFileInfo.FullName); 

//Read the file to a string 
string FileBuffer = FileRead.ReadToEnd(); 

//set the rich text boxes text to be the file 
richTextBox.Text = FileBuffer; 

//Close the stream so the file becomes free! 
FileRead.Close(); 

それとも、その後、リストボックスに固執する永続的であるか:

//Get the FileInfo from the ListBox Selected Item 
FileInfo SelectedFileInfo = (FileInfo) listBox.SelectedItem; 

//Open a stream to read the file 
StreamReader FileRead = new StreamReader(SelectedFileInfo.FullName); 

string CurrentLine = ""; 
int LineCount = 0; 

//While it is not the end of the file 
while(FileRead.Peek() != -1) 
    { 
    //Read a line 
    CurrentLine = FileRead.ReadLine(); 

    //Keep track of the line count 
    LineCount++; 

    //if the line count fits your condition of 5n + 2 
    if(LineCount % 5 == 2) 
    { 
    //add it to the second list box 
    listBox2.Items.Add(CurrentLine); 
    } 
    } 

//Close the stream so the file becomes free! 
FileRead.Close(); 
+0

投稿者が探していたものは正確ではありませんが、ポスターが探していたものがわかりません... –

+0

は、 'System.String.FileInfo'タイプに 'System.String'タイプのオブジェクトを変換できませんでした。 –

+0

FileInfo SelectedFileInfo =(FileInfo)listBox1.SelectedItem;これはエラー –

関連する問題