“熊猫视图”.Net图形控件功能介绍 [六]:视图缩放
平移显示是最基础的视图功能之一。“熊猫视图”控件内置了平移操作功能,并提供了两种平移模式可选。平移模式是一个枚举类型的属性值,分别是 Full,Tile。支持在任何视图工具中,使用鼠标中键平移的方式。
平移模式枚举:
public enum ViewPanMode
{
/// <summary>
/// 显示全图
/// </summary>
Full,
/// <summary>
/// 显示局部
/// </summary>
Tile
}
设置平移模式,如下:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//视图平移模式
pandaView1.PanMode = PandaView.ViewPanMode.Full;
}
}
}
当设置为 Full ,平移操作时视窗内会实时显示全部图形图像内容。一般用于加载少量图形图像时使用。
当设置为 Tile,平移操作时视窗内会实时显示当前范围内的局部内容。一般用于加载大量图像图像时使用。
以下是不同平移模式的演示效果。左边是 Full 模式,右边是 Tile 模式:


“熊猫视图”控件支持平移操作时的鼠标样式定制。实例化 ViewCustomCursor 类即可。
private void Form1_Load(object sender, EventArgs e)
{
//定制鼠标光标样式类
PandaView.ViewCustomCursor c = new PandaView.ViewCustomCursor();
//定制平移鼠标样式
c.PanCursor = Cursors.Hand;
//定制平移按下鼠标时的样式
c.PanDownCursor = Cursors.Hand;
//将鼠标样式指定给熊猫视图
pandaView1.CustomCursor = c;
}
以上代码是定制平移时的鼠标为Hand样式。如果用户不定制,则控件使用内置的小手样式,效果如下:

“熊猫视图”内置了 ViewRangeChange 事件,当平移视图导致视图范围发生变化时触发 。

使用代码如下:
private void pandaView1_ViewRangeChange(object sender, PandaView.ViewRangeChangeEventArgs e)
{
//当前视图左上角自定义坐标
PointF LeftUp = e.Point1;
label1.Text = "左上角自定义坐标:" + LeftUp.ToString();
//当前视图右下角自定义坐标
PointF RightBottom = e.Point2;
label2.Text = "右下角自定义坐标:" + RightBottom.ToString();
}