3

私はビジュアルC#に非常に慣れていません画像ボックスに画像の配列を表示したい

これが私のコードです:

string[] list = Directory.GetFiles(@"C:\\pictures", "*.jpg");
Image[] images = new Image[5];
for (int index = 0; index < 5; index++)

{
    //HERE IS WHERE IM STUCKED WITH
    picturebox[index] = Image.FromFile(list[index]);
}
4

5 に答える 5

3

Edit-1 : この回答の範囲は、Win-Forms C# に限定されています。このコードを使用する前に、特定のアセンブリをアプリケーションに追加する必要があります。

using System.IO;
using System.Windows.Forms;

編集が終了しました。

元の回答

単一のピクチャボックスに表示するには、すべての画像を1つの画像に描画する必要があります

複数のピクチャボックスを使用できるのは少し複雑です

次のコードでは、必要に応じて動的に作成されます。

    // For confirm visibility of all images set 
    this.AutoScroll = true;

    string[] list = Directory.GetFiles(@"C:\pictures", "*.jpg");
    PictureBox[] picturebox= new PictureBox[list.Length];
    int y = 0;
    for (int index = 0; index < picturebox.Length; index++)
    {
        this.Controls.Add(picturebox[index]);
        // Following three lines set the images(picture boxes) locations
        if(index % 3 == 0)
            y = y + 150; // 3 images per rows, first image will be at (20,150)
        picturebox[index].Location=new Point(index * 120 + 20, y);

        picturebox[index ].Size = new Size(100,120);
        picturebox[index].Image = Image.FromFile(list[index]);
    }
于 2012-08-13T10:35:15.540 に答える
2

提供された回答は、オブジェクト参照例外をスローします。そうでなければ、例をありがとう!

for (int index = 0; index < picturebox.Length; index++)
{
     this.Controls.Add(picturebox[index]);
     // Following three lines set the images(picture boxes) locations

する必要があります

for (int index = 0; index < picturebox.Length; index++)
{
    picturebox[index] = new PictureBox();
    this.Controls.Add(picturebox[index]);
    // Following three lines set the images(picture boxes) locations
于 2013-08-20T20:13:16.280 に答える
1

使用するpicturebox[index].Image = Image.FromFile(list[index]);

于 2012-08-08T16:24:28.943 に答える
0

//このコードは、配列でピクチャボックスを操作するのに役立ちます

public partial class Form_Begin : Form
    {
        PictureBox[] pictureBoxs = new PictureBox[50];
        public Form_Begin()
        {
            InitializeComponent();
            pictureBoxs[0] = pictureBox1;
            pictureBoxs[1] = pictureBox2;
            pictureBoxs[2] = pictureBox3;
            pictureBoxs[3] = pictureBox4;}



            List<PictureBox> pictureBoxes = new List<PictureBox>();
 private void buttonX1_Click(object sender, EventArgs e)
            {
                for (int i = 0; i <2; i++)
                {
                    pictureBoxs[i].Image =your_name_project.Properties.Resources.Image_1;                     // Load Image_1 from Resources on property of picturebox  
                }
                for (int i = 2; i < 4; i++)
                {
                    pictureBoxs[i].Image =your_name_project.Properties.Resources.Image_2;                    // Load Image_12 from Resources on property of picturebox 

                }
于 2016-03-29T19:47:37.373 に答える