C#滚动条问题求解?
winform的panel设置了滚动条,但是每次都是拉完放开鼠标左键才能看到东西,有点像卡屏感觉,很不习惯。像浏览器的滚动条就感觉很顺畅,如何做到?...
winform的panel设置了滚动条,但是每次都是拉完放开鼠标左键才能看到东西,有点像卡屏感觉,很不习惯。像浏览器的滚动条就感觉很顺畅,如何做到?
展开
2个回答
展开全部
对Panel的Scroll事件编程,实现内容的连续滚动。示例程序如下
1)在窗体上布置一个Panel,在Panel中布置一个PictureBox。让在PictureBox中加载一张大的图片;
2)Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 初始时显示图片的左上角
pictureBox1.Location = new Point(0, 0);
// pictureBox的大小与图片相同
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
// 显示滚动条
panel1.AutoScroll = true;
// 设置滚动区域
panel1.AutoScrollMinSize =
new Size(pictureBox1.Width, pictureBox1.Height);
// 事件:定义自己的滚动处理
panel1.Scroll += panel1_Scroll;
}
void panel1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation ==
ScrollOrientation.HorizontalScroll)
{
pictureBox1.Left = -e.NewValue;
}
else
{
pictureBox1.Top = -e.NewValue;
}
}
}
}
运行程序,拖动滚动条滑块,图片连续显示!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询