Помощь - Поиск - Пользователи - Календарь
Полная версия: открыть несколько изображений в форме
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
*оля*
здравствуйте, пишу программку для просмотра изображений.



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 из дочерней формы. Подскажите, пожалуйста, как это делается.
спасибо)
*оля*
разобралась)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.