作者: yyxf
查看: 6221|回复: 11
打印 上一主题 下一主题

[求助] datagridview二维表头,滚动后字糊了

[复制链接]
跳转到指定楼层
楼主
yyxf 发表于 2015-7-14 13:48:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
查看: 6221|回复: 11
本帖最后由 yyxf 于 2015-7-14 13:55 编辑

http://bbs.cskin.net/forum.php?m ... hlight=datagridview 新人,正好需要做一个二维表头,在论坛看到有这个资源就下了(第一个demo),用了一下效果实现了。

可是,滚动条一滚动,再拉回来的时候表头就糊了(始终在显示范围内的不会糊)

我看到这个demo中有写滚动时重绘的事件,可是运行时拉动滚动条事件并没有被触发。请各位帮忙看看该怎么解决,拜托了。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播
回复 论坛版权

使用道具 举报

沙发
乔克斯 发表于 2015-7-14 14:21:56 | 只看该作者
@xiaobo
这个控件的无参构造函数中试试加入双缓冲代码。
[C#] 纯文本查看 复制代码
            this.SetStyle(ControlStyles.DoubleBuffer, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            //this.SetStyle(ControlStyles.StandardDoubleClick, false);
            this.SetStyle(ControlStyles.Selectable, true);
            this.UpdateStyles();
板凳
 楼主| yyxf 发表于 2015-7-14 19:31:07 | 只看该作者

public partial class RowMergeView : DataGridView
    {
        #region 构造函数
        public RowMergeView()
        {
            InitializeComponent();
            this.SetStyle(ControlStyles.DoubleBuffer, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            //this.SetStyle(ControlStyles.StandardDoubleClick, false);
            this.SetStyle(ControlStyles.Selectable, true);
            this.UpdateStyles();
        }

是这样吗?我试了一下,好像还是一样的
地板
乔克斯 发表于 2015-7-14 21:41:35 | 只看该作者
yyxf 发表于 2015-7-14 19:31
public partial class RowMergeView : DataGridView
    {
        #region 构造函数

那就是本身组件的BUG了。。。

评分

参与人数 1金钱 +2 收起 理由
yyxf + 2

查看全部评分

5#
 楼主| yyxf 发表于 2015-7-14 21:54:05 | 只看该作者
了解了,谢谢乔老师指点
6#
xiaobo 发表于 2015-7-22 23:15:37 | 只看该作者
我这边测试是正常的,把程序贴出来看看?

7#
 楼主| yyxf 发表于 2015-9-7 21:54:05 | 只看该作者
本帖最后由 yyxf 于 2015-9-7 21:58 编辑

不好意思,这阵子埋头写代码,只偶尔签到,刚刚看到您的回复。

当时因为一直弄不好,这段代码我好像是放弃掉了,刚刚找了半天也没找见。但是我自己试验的结果应该是:如果合并单元格的范围是一开始就出现在屏幕范围的话,效果是能实现而且拉动也不会糊的,就如同demo展示的效果一样;要合并的单元格比较多的话,效果就不能保证了。
不知道有没有其他的合并单元格比较方便的第三方控件可以推荐?

谢谢
8#
斯盖 发表于 2015-9-24 09:55:17 | 只看该作者
我貌似也遇到这问题了、。、、、是控件原因吗?
9#
乔克斯 发表于 2015-9-24 10:31:17 | 只看该作者
yyxf 发表于 2015-9-7 21:54
不好意思,这阵子埋头写代码,只偶尔签到,刚刚看到您的回复。

当时因为一直弄不好,这段代码我好像是放弃 ...

ReoGridSourceGrid 这2个开源组件可以去了解下。
10#
乔克斯 发表于 2015-9-24 10:31:27 | 只看该作者
斯盖 发表于 2015-9-24 09:55
我貌似也遇到这问题了、。、、、是控件原因吗?

ReoGridSourceGrid 这2个开源组件可以去了解下。
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-26 17:06, Processed in 0.605884 second(s), 34 queries , Gzip On.

快速回复 返回顶部 返回列表