Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


Загружаем картинку в PictureBox из TreeView

В этой статье хочу показать, как загрузить картинку в PictureBox при выборе узла в элементе управления TreeView.

picturebox

Для начала создадим новый проект типа Windows Forms Application на языке c#. Затем добавим на форму два элемента управления: TreeView и PictureBox.

В элементе TreeView создадим дерево, состоящее из нескольких элементов.

private void CreateTree()
{
TreeNode root = treeView1.Nodes.Add("cars");
TreeNode firstChild = root.Nodes.Add("toyota");
firstChild.Nodes.Add("Corolla");
firstChild.Nodes.Add("Camry");
TreeNode lastChild = root.Nodes.Add("bmw");
lastChild.Nodes.Add("x5");
lastChild.Nodes.Add("x6");
}

Созданный метод поместим для выполнения в обработчике события Form_Load.

private void Form1_Load(object sender, EventArgs e)
{
CreateTree();
}

Теперь нам нужно сделать так, чтобы при выборе узла в элементе TreeView автоматически загружалась картинка в элемент управления PictureBox.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Получить выбранный узел в элементе TreeView можно разными способами, например, в данном примере для этого воспользуемся событием AfterSelect.

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//получаем текстовое содержимое выбранного узла
string text = e.Node.Text;
//получаем индекс выбранного узла
int index = e.Node.Index;
}

Загрузить картинку в PictureBox можно следующим образом:

private void PictureBoxLoadImage(string path)
{
try
{
pictureBox1.Image = Image.FromFile(path);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

Выбранное значение в элементе управления TreeView обработаем с помощью конструкции switch case.

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
switch (e.Node.Text)
{
case "corolla": PictureBoxLoadImage(@"c:\img\corolla.jpg"); break;
case "camry": PictureBoxLoadImage(@"c:\img\camry.jpg"); break;
case "x5": PictureBoxLoadImage(@"с:\img\x5.jpeg"); break;
case "x6": PictureBoxLoadImage(@"с:\img\x6.jpg"); break;
default: pictureBox1.Image = null; break;
}
}

Читайте также:


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices