Часть 1
44
else
{
// масштабируем по высоте
pictureBox1.Width = pbw;
pictureBox1.Height = Convert.ToInt16(
pictureBox1.Image.Height * mw);
}
}
// разместить картинку в центре области
// отображения иллюстраций
pictureBox1.Left =
pbX + (pbw - pictureBox1.Width) / 2;
pictureBox1.Top =
pbY + (pbh - pictureBox1.Height) / 2;
pictureBox1.Visible = true;
}
// щелчок на кнопке Обзор
private void button1_Click(object sender, EventArgs e)
{
// FolderBrowserDialog - окно Обзор папок
FolderBrowserDialog fb
= new FolderBrowserDialog();
fb.Description =
"Выберите папку,\n" +
"в которой находятся иллюстрации";
fb.ShowNewFolderButton = false;
// отображаем диалоговое окно
if (fb.ShowDialog() == DialogResult.OK)
{
// пользователь выбрал каталог и
// щелкнул на кнопке OK
Примеры и задачи
45
aPath = fb.SelectedPath;
label1.Text = aPath;
if ( !FillListBox(fb.SelectedPath))
// в каталоге нет файлов иллюстраций
pictureBox1.Image = null;
}
}
}
}
Просмотр иллюстраций-2
Программа Просмотр иллюстраций-2 (рис. 1.9, листинг 1.9) по-
зволяет просмотреть jpg-файлы.
Рис. 1.9. Форма программы Просмотр иллюстраций
Часть 1
46
Она демонстрирует использование компонента
PictureBox
, пока-
зывает, как превратить командную кнопку в графическую, а так-
же как при помощи компонента
ToolTip
обеспечить отображе-
ние подсказки при позиционировании указателя мыши на
командной кнопке. Чтобы на кнопке появилась картинка, нужно
присвоить значение свойству
Image
— указать png-файл с "про-
зрачным" фоном. Значения свойств, обеспечивающих отображе-
ние подсказок, приведены в табл. 1.2.
Таблица 1.2. Свойства, обеспечивающие отображение подсказок
Компонент Свойство
Значение
button1
ToolTip on toolTip1
Выбор папки
button2
ToolTip on toolTip1
Назад
button3
ToolTip on toolTip1
Далее
Листинг 1.9. Модуль формы программы Просмотр иллюстраций
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
Примеры и задачи
47
// список jpg-файлов
List imgList = new List();
int nImg = 0; // номер отображаемой иллюстрации
int pbw, pbh, // первоначальный размер
pbX, pbY; // и положение pictureBox
string aPath; // путь к файлам
public Form1()
{
InitializeComponent();
// запомнить размер
// и положение pictureBox1
pbh = pictureBox1.Height;
pbw = pictureBox1.Width;
pbX = pictureBox1.Location.X;
pbY = pictureBox1.Location.Y;
DirectoryInfo di; // каталог
// получить имя каталога "Мои рисунки"
di = new DirectoryInfo(Environment.GetFolderPath(
Environment.SpecialFolder.MyPictures));
aPath = di.FullName;
// сформировать список иллюстраций
FillListBox(aPath);
}
// формирует список иллюстраций
// aPath - путь к файлам иллюстраций
private Boolean FillListBox(string aPath)
{
Do'stlaringiz bilan baham: |