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