0

我正在扩展图像查看器以支持幻灯片功能。我使用 asplit container将主窗体分成两个面板。

  • 左侧面板将包含缩略图列表
  • 右侧的面板将包含全尺寸图像

每个面板都支持拖放。当我将图像文件放入缩略图面板时,它应该创建一个缩略图并将其显示在面板上,从顶部开始并随着更多图像被丢弃而向下工作。默认情况下,第一个可用的图像将显示在右侧的面板上。

当我选择另一个缩略图时,查看器将显示全尺寸图像。

实现此缩略图列表的好方法是什么?我查看了可用的控件列表,但无法确定哪一个最适合于此。

我正在考虑动态创建 PictureBox 对象,但是在我注册 Click 事件之后如何识别事件是从哪个 PictureBox 发送的似乎并不明显。

我正在寻找两种可能的答案之一

  • 继续创建 PictureBox 的想法,但了解我应该如何处理 Click 事件以正确显示所需的图像。
  • 显示拇指列表的替代建议(如果 PictureBox 想法不可行)
4

1 回答 1

1

您可以将事件处理程序绑定到多个控件并通过“sender”参数识别它们。它总是指向事件发送者。

void OnClick(object sender, KeyEventArgs e) {
    PictureEdit editor = (PictureEdit)sender;
}

Sub OnClick(ByVal sender As Object, ByVal e As KeyEventArgs)
    Dim editor as PictureEdit = CType(sender, PictureEdit)
End Sub

或者,您可以创建自己的(不那么复杂)控件,划分为显示图像的矩形区域。

于 2012-07-27T00:43:33.927 回答