lhtcdj6
2017-08-15 03:13
采纳率: 33.3%
浏览 2.1k

winform下怎么自定义Drag过程中的鼠标样式

winform程序中,可以通过一系列的事件如DragEnter,DragOver,DragDrop等事件实现控件的拖拽,但是怎么修改拖拽过程中的鼠标形状呢?
求高手指点,我在DragOver中设置了鼠标的样式,但是会出现闪烁的现象,会在原来的形状和我设置的形状中不断切换导致的闪烁。
没有币了,希望大家不吝赐教。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • mkq229 2017-08-15 06:57

    1.页面设置双缓存DoubleBuffered试下
    2.将此代码写在要解决闪烁问题的父窗体中:
    protected override CreateParams CreateParams
    {
    get
    {
    CreateParams cp = base.CreateParams;
    cp.ExStyle |= 0x02000000;
    return cp;
    }
    }

    点赞 评论
  • lhtcdj6 2017-08-16 01:54

    烦请看清楚问题再回答,问的是怎么改变鼠标的样式。闪烁的原因不是因为绘画的问题,而是因为鼠标样式被更改后又被改回去的原因,也就是说改不了鼠标样式

    点赞 评论
  • tulingwangbo 2017-08-30 09:33

    同问,自己设置的带图片的鼠标样式利用setCapture可以正常显示(但移动到底部任务图标上不能使其他程序自动弹出),
    但是调用DoDragDrop后就变成微软的样式了,箭头带个加号!

    点赞 评论

相关推荐 更多相似问题