找回密码
 立即注册

QQ登录

只需一步,快速开始

ghostlyt
初级会员   /  发表于:2016-5-19 18:26:19
11#
unity 发表于 2016-5-19 17:24
文字可以用
e.Graphics.DrawString

没办法跟控件本身描绘的文字一样。位置、格式等,不知道内部的描绘细节,没办法做到完全一样
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-5-19 18:29:55
12#
unity 发表于 2016-5-19 17:24
文字可以用
e.Graphics.DrawString

谢谢@unity的反馈。

请参考随机安装示例:\Documents\ComponentOne Samples\WinForms\C1FlexGrid\CS\OwnerDraw
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2016-5-20 09:17:32
13#
Alice 发表于 2016-5-19 18:29
谢谢@unity的反馈。

请参考随机安装示例:\Documents\ComponentOne Samples\WinForms\C1FlexGrid\CS\O ...

抱歉,Sample里只是提供了如何变更表示内容以及背景;
而我是想不改变其表示内容只是改变文字颜色。
使用e.Graphics.DrawString时,需要指定很详细的参数,我想知道怎么设定才能跟控件本身所描绘的一致。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-5-20 11:41:19
14#
ghostlyt 发表于 2016-5-20 09:17
抱歉,Sample里只是提供了如何变更表示内容以及背景;
而我是想不改变其表示内容只是改变文字颜色。
使 ...

设置e.Style可以改变样式。
但是我觉得这个方法并不能解决你最初提到的问题。
因为你不能使用e.Style.Color的方法,这是不好的,因为改变任何CellStyle 对象会导致表格失效,
而且将会引起这个事件处理方法被一次又一次的调用。

//当绘制这个单元格式选择使用的样式:
e.Style = MyStyleSelector(e.Row, e.Col);

还是需要你将之前存好的Style设置给e.Style,不会从根本上解决你的问题。


请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2016-5-20 12:10:29
15#
Alice 发表于 2016-5-20 11:41
设置e.Style可以改变样式。
但是我觉得这个方法并不能解决你最初提到的问题。
因为你不能使用e.Style.C ...

是的。直接改变e.Style.Color会带来不可预知的影响。
现在暂时采取的策略是只重绘背景,文字颜色部分采用共享Style的方式来做。
这样可以减少一部分的内存占用,同时也不会带来显著的性能问题。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-5-20 16:35:26
16#
ghostlyt 发表于 2016-5-20 12:10
是的。直接改变e.Style.Color会带来不可预知的影响。
现在暂时采取的策略是只重绘背景,文字颜色部分采 ...

谢谢您的反馈。
目前可以这样处理
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部