Как реализовать эффект подкачки в элементе управления FlowLayoutPanel?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать эффект подкачки в элементе управления FlowLayoutPanel?

Сообщение Anonymous »

Благодаря следующему коду я создаю и добавляю изображения в виде миниатюр в FlowLayoutPanel.

Реализация довольно проста. Я читаю доступные изображения в каталоге и вызываю следующую подпроцедуру.

Private Sub LoadImages(ByVal FlowPanel As FlowLayoutPanel, ByVal fi As FileInfo)
Pedit = New DevExpress.XtraEditors.PictureEdit
Pedit.Width = txtIconsWidth.EditValue
Pedit.Height = Pedit.Width / (4 / 3)
Dim fs As System.IO.FileStream
fs = New System.IO.FileStream(fi.FullName, IO.FileMode.Open, IO.FileAccess.Read)
Pedit.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
fs.Dispose()
Pedit.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom

If FlowPanel Is flowR Then
AddHandler Pedit.MouseClick, AddressOf Pedit_MouseClick
AddHandler Pedit.MouseEnter, AddressOf Pedit_MouseEnter
AddHandler Pedit.MouseLeave, AddressOf Pedit_MouseLeave
End If

FlowPanel.Controls.Add(Pedit)
End Sub


Теперь я хотел бы расширить его. Я хотел бы создать эффект листания.
Приложение должно читать все доступные изображения, НО рисовать только те, которые видны на экране.

И как обычно я не знаю, с чего начать. Могу ли я использовать ваши фонари, пожалуйста?

...и вот версия C#!

private void LoadImages(FlowLayoutPanel FlowPanel, FileInfo fi)
{
Pedit = new DevExpress.XtraEditors.PictureEdit();
Pedit.Width = txtIconsWidth.EditValue;
Pedit.Height = Pedit.Width / (4 / 3);
System.IO.FileStream fs = null;
fs = new System.IO.FileStream(fi.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
Pedit.Image = System.Drawing.Image.FromStream(fs);
fs.Close();
fs.Dispose();
Pedit.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom;

if (object.ReferenceEquals(FlowPanel, flowR)) {
Pedit.MouseClick += Pedit_MouseClick;
Pedit.MouseEnter += Pedit_MouseEnter;
Pedit.MouseLeave += Pedit_MouseLeave;
}

FlowPanel.Controls.Add(Pedit);
}


Подробнее здесь: https://stackoverflow.com/questions/488 ... el-control
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»