2017-01-17 15 views
0

私は、ユーザーに進行状況を保存させるためのフォームを作成しています。フォルダから読み込んだ異なる保存ファイルを含む6つの仮想スロットがあります。私はスクロールバーだけで同じ設定をして、6つ以上のファイルが作成されている場合に備えて、ユーザーがファイルをスクロールできるようにします。複数のオブジェクトを含むスクロールリスト

セットアップは、クリックすると保存ファイルをロードするpicturebox、ファイル名とファイル日付のラベル、保存ファイルを削除するpicturebox、スロットをクリックするとファイルを保存するパネルが表示されます。

以下は、6つの保存ファイルを読み込むためのコードです。 (私は、日付が含まれているので、保存ファイルの開始を読むことによって日付を取得しますが、私はまだその部分を行っていません)。

private void loadsavestoscreen() 
    { 
     string filename; 
     string extension; 
     string locpath = @"C:\test"; 
     String[] allfiles = System.IO.Directory.GetFiles(locpath, "*.*", System.IO.SearchOption.TopDirectoryOnly); 
     int counter = 0; 
     foreach (String file in allfiles) 
     { 
      if (counter == 6 || counter == allfiles.Length - 1) 
      { labelcheck(); break; } 
      if ((extension = Path.GetExtension(file)) == ".dat") 
      { 
       filename = Path.GetFileNameWithoutExtension(file); 
       //Console.WriteLine(filename); 
       changelbl(counter, filename); 
       counter++; 
      } 
     } 
    } 

'labelcheck'は、テキストが正しいかどうかをチェックし、そうでない場合はラベルを非表示にします。

'lblchange'は、正しいスロットのラベルの名前を変更します。

私の質問は、6つ以上のファイルがある場合にスクロールバーをスクロールして、より多くのファイルをスクロールできるようにすることです。

ここでは、フォームの抜粋です:Save Form

私はいくつかの明白な誤りを作った場合、私は私の謝罪ので、プログラミングに少し新しいです。助けてくれてありがとう。

+0

は私が保存フォルダ内と同じ数のファイルを保存読み込むことができるようにしたい、と私はへスクロールバーを持ちたい:あなたはそれらのコントロールに画像を追加する方法を知りたい場合は

フォームのサイズを変更することなく、すべての保存ファイルをスクロールするのに使用します – Deivis

+0

スクロールバー付きのパネル内のテーブルレイアウトコントロールを使用 –

答えて

0

リストオブジェクトやコンテナがなければ、これは解決しにくいです。

DataGridViewまたはListViewオブジェクトを使用することをおすすめします。これらのリストには、ファイルエントリをオブジェクトとして簡単に追加できます。オプションはScrollableです。これは、trueまたはfalseを設定できます。

また、保存ファイルエントリ(ラベル/イメージの位置と内容を保存する)用のクラスを作成し、DataGridViewまたはListViewに追加します。 How do add image to System.Windows.Forms.ListBox?

+0

ありがとう – Deivis