flowLayoutPanel1设置内容随着鼠标滚动而滚动

当flowLayoutPanel1内容过多时,可以设置竖条,当时当鼠标滚动时,里面的内容不会随着鼠标的滚动而滚动,这就要求我们自己写事件了:

宗旨:判断鼠标是不是在flowLayoutPanel1区域内,如果在,设置flowLayoutPanel1的垂直滚动距离

给winform窗体加一个mousewheel监听事件

核心代码:

 private void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
            //e.X e.Y以窗体左上角为原点,aPoint为鼠标滚动时的坐标
            Point aPoint = new Point(e.X,e.Y);

            //this.Location.X,this.Location.Y为窗体左上角相对于screen的坐标,得出的结果是鼠标相对于电脑screen的坐标
            aPoint.Offset(this.Location.X,this.Location.Y);

            Rectangle r = new Rectangle(flowLayoutPanel1.Location.X, flowLayoutPanel1.Location.Y, flowLayoutPanel1.Width, flowLayoutPanel1.Height);
            // MessageBox.Show(flowLayoutPanel1.Width+"  "+flowLayoutPanel1.Height);

            //判断鼠标是不是在flowLayoutPanel1区域内
            if (RectangleToScreen(r).Contains(aPoint))
            {
                //设置鼠标滚动幅度的大小
                flowLayoutPanel1.AutoScrollPosition = new Point(0,flowLayoutPanel1.VerticalScroll.Value-e.Delta/2);
            }

        }

往flowLayoutPannel1里面添加controls

  for (int i = 0; i < 100; i++)
            {
                Label l = new Label();
                l.Text = i.ToString();
                flowLayoutPanel1.Controls.Add(l);
                flowLayoutPanel1.ScrollControlIntoView(l);
                Application.DoEvents();
            }

完!!

时间: 2024-11-03 05:44:25

flowLayoutPanel1设置内容随着鼠标滚动而滚动的相关文章

WPF中关于自定义控件的滚动条鼠标停留在内容上鼠标滚轮滚动无效的问题

问题起因:在一个用户控件里放置了1个TreeView垂直顺序放置. 当用户控件中的内容超过面板大小时,滚动条会自动出现 ,但是只有当鼠标指示在右边滚动条的那一条位置时,才支持鼠标滚轴滚动. 点在控件内部时滚轴无效. 问题分析:由于设置了d:designheight,自定义控件的宽高都是随着父容器的变化而变化的,于是我将Height设为较小的固定高度时,发现鼠标停留在控件内容时,滚轮控制滚动条滚动是有效的.这就说明UI上显示的滚动条并非是这个自定义控件的,而是这个自定义控件所在的父容器的,这样也解

设置DIV随滚动条滚动而滚动

有段时间没有碰Web端了,最近做了个功能,需要做个DIV随滚动条滚动而滚动,mark一下: 源码: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&quo

js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)

最近做项目涉及到多个DIV切换效果,包括普通按钮点击切换和鼠标滚轮上下滚动切换等:其主要涉及到的内容就是鼠标滚轮上下切换的事件监听,此处是第一次接触到,故在此记录一下:也希望能帮到各位有需要的朋友. 以下为项目实例: $(function() { var count = $("#sysCount").val();    var isUp = false; // 初始化子系统模块    if (count > 6) {        $("#panel").cs

jq鼠标点击滚动锚点

鼠标点击滚动锚点 //滚动锚点 $('.menus-c ul li a').click(function(){ //alert(); $('html, body').animate({ scrollTop: $( $.attr(this, 'href') ).offset().top }, 500); return false; }); 以上代码,代表点击.menus-c ul li a的时候,获取a的href(href的值等于#id)就会自动滑动了.

iOS UIWebView 获取内容实际高度,关闭滚动效果

iOS UIWebView 获取内容实际高度,关闭滚动效果 近期做东西,将 UIWebView 嵌套在 UIScrollView 里,由 UISCrollView 控制滚动,需要使 UIWebView 的高度同内容高度一致,网上搜索的到代码: htmlHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]; 这段代码是无效的,body 获取到的 offsetHeigh

鼠标触及连接滚动提示信息

<html> <head> <title>鼠标触及连接滚动提示信息-石家庄瑜伽馆</title> </head><body> <!--将以下代码加入HTML的<Body></Body>之间--> <style type="text/css"> <!-- a:link { color: #0020FF; text-decoration: none;font-siz

(转)JS浮动窗口(随浏览器滚动而滚动)

原文:http://hi.baidu.com/aiyayaztt/item/4201c55a6b729dced2e10c79 JS浮动窗口(随浏览器滚动而滚动) 往往用于一些联系方式,互动平台模块,随着浏览器的滚动而滚动. <div id="AdLayer"> <p>窗口中的内容</p> </div> 放在<body>下面(页面最上面) JS代码 window.onload=function(){ var n=0;//top值

开发路程(14):背景图片移动插件MyFloatingBg(浮动背景图效果,可让背景随着页面的滚动而滚动)

MyFloatingBg这插件可以帮助你在网页上加入可移动背景Background.你可以用于整个文件的背景,或是某几个banner的背景. 它可支持简单的animation效果,你不用去做一个flash文件或动态gif图片.单靠jquery和图片,你便可以做出不同的效果.由于我们把动画效果跟内容分开,我们也可以随时更改文字等内容,而不影响其运作.这个效果很是大气,我想可以使用在高级餐厅,珠宝展会等中做展示用. 1 <!doctype html> 2 <html lang="e

jQuery设置内容和属性方

何问起 hovertree.com 设置内容 - text().html() 以及 val()text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值 示例: <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script> <s