找回密码
 立即注册

QQ登录

只需一步,快速开始

yuflying

中级会员

1

主题

6

帖子

717

积分

中级会员

积分
717

活字格认证

最新发帖
yuflying
中级会员   /  发表于:2010-4-9 10:36  /   查看:9439  /  回复:5
spread控件画单元格top border和left border时,边线与单元格背景边框的灰线不重合,稍有偏离,如果给一个区域画边框线,就会出现内线比外线粗的情况。

jpg

jpg

5 个回复

倒序浏览
gw0506
超级版主   /  发表于:2010-5-4 18:21:00
沙发
能不能详细描述一下你的设置bolder的操作。
1. 决定边框粗细的是Line Style。如果改变了line style, 必须同时选择Border的位置才能使设置生效。我猜你的Outline是用Thin style设置的,而内部的边框Inside是用Thick style 设置的,所以出现了内线比外线粗的问题。
2. 至于左上和左边框没有覆盖背景边框,右边和右下覆盖了背景边框。需要等待确认。不过,我认为这是GDI+的一个bug导致的。在GDI+中,调用Graphics.DrawRectangle()方法,他会在给定的rectangle的右边框和右下边框多画一个pixel。这和Graphics.FillRectangle()方法的表现不同,后者不会多填充1个pixel。
回复 使用道具 举报
yuflying
中级会员   /  发表于:2010-5-7 11:38:00
板凳

回复 2# gw0506 的帖子

内线比外线粗的原因,其实就是top border和left border边线与单元格背景边框的灰线不重合,top border比背景边框偏下一点,left border比背景边框偏右一点,他们和其他单元格底线和右线碰到一起,看起来就是粗线了。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-7 14:42:00
地板
你说的很对。
请问你是如何设置Border达到上图的效果的?如果是直接设置PropertyGrid中的Border属性,设置为LineBorder,就是这样的效果。

jpg

jpg


如果你想要所有border粗细相同,或者更加个性化,可以使用右键菜单中的Border编辑器,参考如下步骤:
1. 选中设置Border的区域,右键单击,弹出菜单,选择“Border...”

jpg

jpg

2. 按照编号,操作编辑器。完成后单击OK,编辑器会自动保存设置并且关闭窗口。

jpg

jpg

3. 这就是效果图。
FpBorder4.png (6.7 KB, 下载次数: 1269)
回复 使用道具 举报
yuflying
中级会员   /  发表于:2010-5-7 17:38:00
5#
用Border编辑器操作没有问题了。我原来是在spread designer中,直接点工具栏上的border按钮进行设置的,就会出现内线比外线粗的情况。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-10 11:42:00
6#
恩,这样我们说的问题就完全一致了。
所以Border编辑器可以满足你的问题了吧。编辑器操作也很简单,和Excel的几乎完全一样。呵呵。

如果再有任何问题,欢迎继续发帖讨论。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部