IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> открыть несколько изображений в форме, c#
*оля*
сообщение 21.06.2012 0:53
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 125
Пол: Женский

Репутация: -  1  +


здравствуйте, пишу программку для просмотра изображений.



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace usingMDI
{
    public partial class Form1 : Form
    { 
        public Form1()
        {
            InitializeComponent();
            DriveTreeInit();
        }


        public void DriveTreeInit() // дерево дисков
        {
            string[] drivesArray = Directory.GetLogicalDrives();

            treeView1.BeginUpdate();
            treeView1.Nodes.Clear();

            foreach (string s in drivesArray)
            {
                TreeNode drive = new TreeNode(s, 0, 0);
                treeView1.Nodes.Add(drive);

                GetDirs(drive);
            }


            treeView1.EndUpdate();
        }



        public void GetDirs(TreeNode node)
        {
            DirectoryInfo[] diArray;

            node.Nodes.Clear();

            string fullPath = node.FullPath; // полный пусть к узлу дерева
            DirectoryInfo di = new DirectoryInfo(fullPath);

            try
            {
                diArray = di.GetDirectories();
            }
            catch
            {
                return;
            }

            foreach (DirectoryInfo dirinfo in diArray)
            {
                TreeNode dir = new TreeNode(dirinfo.Name, 0, 0);
                node.Nodes.Add(dir);
                
                
            }
           
        }


        public void Filistbox (string fullPath)
        {
            DirectoryInfo di = new DirectoryInfo(fullPath);
            FileInfo[] fi = di.GetFiles("*.jpg");
            listBox1.Items.Clear();


            foreach (FileInfo fc in fi)
            {
                listBox1.Items.Add(fc.Name);
            }

        }


        private void newChildToolStripMenuItem_Click(object sender, EventArgs e) 
        {
            // Declare the child form as a new one.
            Form2 childForm = new Form2();
            // Set the main form as a parent form.
            childForm.MdiParent = this;
            // Show the child form.
            childForm.Show();
        }

        private void cascadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Set the layout to cascade.
            this.LayoutMdi(MdiLayout.Cascade);
        }

        private void tileHorizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Set the layout to tile horizontal.
            this.LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void tileVerticalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Set the layout to tile vertical.
            this.LayoutMdi(MdiLayout.TileVertical);
        }

        private void arrangeIconsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Set the layout to arrange icons.
            this.LayoutMdi(MdiLayout.ArrangeIcons);
        }

       

        
        private void treeView1_OnBeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            treeView1.BeginUpdate();

            foreach (TreeNode node in e.Node.Nodes)
            {
                
                GetDirs(node);
            }

            treeView1.EndUpdate();
            
        }


        
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }


        string fullPath;
       private void treeView1_OnSelect(object sender, TreeViewCancelEventArgs e)
        {
       
           
            TreeNode selectedNode = e.Node;
            fullPath = selectedNode.FullPath;

  DirectoryInfo di = new DirectoryInfo(fullPath);
  FileInfo[] fiArray;
  DirectoryInfo[] diArray;

  try
  {
     fiArray = di.GetFiles();
     diArray = di.GetDirectories();
  }
  catch
  {
     return;
  }

  listBox1.Items.Clear();

  foreach(DirectoryInfo dirInfo in diArray)
  {
     FileInfo[] fi = di.GetFiles("*.jpg");
            listBox1.Items.Clear();


            foreach (FileInfo fc in fi)
            {
                listBox1.Items.Add(fc.Name);
            }
  }


 
  }

       private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
       {
           treeView1.Visible = false;
           listBox1.Visible = false;
           Form2 childForm = new Form2();
           
           childForm.MdiParent = this;
           PictureBox pictureBox1 = new PictureBox();
           Bitmap image1;
           string s =(string)listBox1.SelectedItem;
           string r = (string)fullPath;
           string addr = r +"/"+ s;

           image1 = new Bitmap(@"addr"); //  ошибка!
           
         
          // pictureBox1.Image = Image.FromFile(addr);
           childForm.Show();
           
       }
        private void InitializeOpenFileDialog()
{
    // Set the file dialog to filter for graphics files.
    
}

    
       }
}
        
    



Но не получается поместить выбранное изображение в PictureBox из дочерней формы. Подскажите, пожалуйста, как это делается.
спасибо)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
*оля*
сообщение 21.06.2012 11:43
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 125
Пол: Женский

Репутация: -  1  +


разобралась)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 8.08.2025 1:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"