社区
C#
帖子详情
什么行为触发DrawItem事件?
jdcrystal
2008-07-28 03:30:48
什么行为触发DrawItem事件?最好举个例子说明,怎么做就会执行该市建立的代码?还有下面这段代码执行了却看不到线,为什么?
Graphics g =this.CreateGraphics();
Pen p = new Pen(Color.Black);
p.DashStyle =System.Drawing.Drawing2D.DashStyle.Solid;
p.Width = 3;
g.DrawLine(p, 0, 0, 100, 100);
...全文
874
5
打赏
收藏
什么行为触发DrawItem事件?
什么行为触发DrawItem事件?最好举个例子说明,怎么做就会执行该市建立的代码?还有下面这段代码执行了却看不到线,为什么? Graphics g =this.CreateGraphics(); Pen p = new Pen(Color.Black); p.DashStyle =System.Drawing.Drawing2D.DashStyle.Solid; p.Width = 3; g.DrawLine(p, 0, 0, 100, 100);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
h_w_king
2008-07-28
打赏
举报
回复
很多控件都有DrawItem事件,只要重绘该控件都会触发该事件.
但在属性中要设置this.listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; //以listbox为例.
jdcrystal
2008-07-28
打赏
举报
回复
[Quote=引用 2 楼 hbxtlhx 的回复:]
你可以调用控件实例本身的Invalidate()方法就可以让DrawItem之类的方法执行。
你没有看到效果,可能是它绘制了,但是被后来的其它绘制给覆盖了。或者你不能使用this.CreateGraphics()方法,而应该尽量的使用Paint(或OnPaint)方法的参数e.Graphics。
[/Quote]
为什么不能使用this.CreateGraphics()方法?
jdcrystal
2008-07-28
打赏
举报
回复
[Quote=引用 2 楼 hbxtlhx 的回复:]
你可以调用控件实例本身的Invalidate()方法就可以让DrawItem之类的方法执行。
你没有看到效果,可能是它绘制了,但是被后来的其它绘制给覆盖了。或者你不能使用this.CreateGraphics()方法,而应该尽量的使用Paint(或OnPaint)方法的参数e.Graphics。
[/Quote]
我刚试了Invalidate()方法还是没有触发DrawItem事件,我在DrawItem事件里加上断点都执行不到那,
北京的雾霾天
2008-07-28
打赏
举报
回复
你可以调用控件实例本身的Invalidate()方法就可以让DrawItem之类的方法执行。
你没有看到效果,可能是它绘制了,但是被后来的其它绘制给覆盖了。或者你不能使用this.CreateGraphics()方法,而应该尽量的使用Paint(或OnPaint)方法的参数e.Graphics。
zzyhuian06142
2008-07-28
打赏
举报
回复
在ComboBox加载下拉框的时候会触发
NM_CUSTOME
DRAW
(OnCustom
Draw
),WM_
DRAW
ITEM
(On
Draw
Item
)和
Draw
Item
(
Draw
Item
)的讨论
MFC自绘控件有很多函数 常见的有WM_
DRAW
ITEM
消息,
Draw
Item
虚函数,还有一个NM_CUSTOM
DRAW
反射消息,NM_CUSTOM
DRAW
是通过WM_NOTIFY发送给父窗口的。我们可以在控件类里面反射调用次消息。 现在我们以CTListCtrl控件举例对比NM_CUSTOM
DRAW
和
Draw
Item
。 1.使用
Draw
Item
,你必须在创建CTListCtrl
C#中ListBox控件重绘
Item
项
一般情况下不需要手动重绘ListBox。 1、首先选中拖至面板的ListBox控件,点属性,选中
Draw
Mode,改成Owner
Draw
Fixed或Owner
Draw
Variable 2、还是在属性工具中,切换到
事件
(就是那个闪电图标),鼠标双击‘
行为
’菜单下的
Draw
Item
,添加一个
事件
。 3、在‘窗体设计器生成的代码’中就添加了一个新的
事件
this.listBox1.
Draw
Ite
自绘控件 CSatic无法响应On
Draw
Item
不选择在 PreSubclassWindow 中作“初始化”工作是因为用户可能在使用中改变属性,必须在一个经常进入的地方检查是否要重新“初始化”。把这项工作放到和绘制有关的消息响应函数里则父窗口一个 Re
draw
Window() 就可以引起重新“初始化”。 一般步骤:1.派生控件子类2.添加 PreTranslateMessage3.进行常规操作记下消息类型4.在子类里处理消息 MFC的 C...
关于C#中ListBox控件重绘
Item
项【转】
“如何让ListBox的
Item
项显示多行?”,貌似没有人给出直接的答案。 现在将一点个人经验总结如下: 1、首先选中拖至面板的ListBox控件,点属性,选中
Draw
Mode,改成Owner
Draw
Fixed或Owner
Draw
Variable 2、还是在属性工具中,切换到
事件
(就是那个闪电图标),鼠标双击‘
行为
’菜单下的
Draw
Item
,添加一个
事件
。 3、在‘窗体设计器生成的代码’中...
PB常用
事件
1.window中的
事件
事件
名
触发
的时机 01.Activate 在窗口激活之前
触发
02.Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时
触发
03.Close 当关闭窗口时
触发
04.CloseQuery 当
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章