首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform 动态改变picturebox的位置 界面闪动解决方法

2013-09-28 
winform 动态改变picturebox的位置 界面闪动如题所述,我要实现在鼠标移动的时候,动态改变picturebox的位置

winform 动态改变picturebox的位置 界面闪动
如题所述,我要实现在鼠标移动的时候,动态改变picturebox的位置。这个时候由于界面重绘,所以界面不停的闪动。在网上查了些资料,用双缓冲机制,但是我用了没有作用,依然闪动得厉害。求救啊!!!!!(功能很简单,就是移动鼠标,改变picturebox的位置)
[解决办法]
你都画什么了
[解决办法]
我以前用VC写过,C#的还没写过呢~~换成双冲缓冲是不闪了~~~
[解决办法]
我也遇到过这个问题,不过没有解决,关注中。
[解决办法]
用picture 控件的话 应该不用重绘了吧  
用timer 依次改变  控件位置2毫秒 执行一次1像素 应该不会闪
重绘的话 多声明字段 少创建用局部变量 不要绘一次就把资源释放了 等控件释放的时候再释放资源 

我回过好多东西 代码优化好了 效率高了就不会闪 
[解决办法]
public frmMain()
        {
            InitializeComponent();

            //使用双缓冲,防止界面重绘时闪烁
            this.SetStyle(
                 ControlStyles.UserPaint 
[解决办法]

                 ControlStyles.AllPaintingInWmPaint 
[解决办法]

                 ControlStyles.OptimizedDoubleBuffer 
[解决办法]

                 ControlStyles.ResizeRedraw, true);
            this.SetStyle(ControlStyles.Opaque, false);
            this.UpdateStyles();
}

试一下。
[解决办法]
- -!、、有那么悲剧么 还是我没有理解到楼主的意思 ?
是通过鼠标来改变pictureBox的位置?、、、
如果是这样的话 那和双缓冲又有什么关系?、、、
直接 根据鼠标设置pictureBox的location就行了
还有 把你的代码贴上来看看 
[解决办法]
可能你的Picturebox加载的图片尺寸太大了,造成每次移动时系统重绘花费了较多的时间。
[解决办法]
把Picturebox改为label,label的Image为图片,但是label的backcolor不能设置为透明,否则也会闪动
[解决办法]
codeproject
[解决办法]
关注,以前碰到过,没解决.....

热点排行