能不能稍微具体一点,如果我先截获OnPaint消息怎么操作?
解决方案 »
- 并行调用dll的问题
- 关于vs2010,chart控件的使用方法
- [高分求助]s1=string.Concat(s1,s2) 与 s1+=s2 的区别
- C#中用JS实现向左滚动,急急急,在线等
- 请问,怎么将DataTable表的数据导成Excel文件
- 请教如何定义一个常量数组?
- 求教一个VC写的DLL再C#引用问题
- .NET就是开发网页的吗?能开发WIN程序吗?(像VB,VC,DELPHI,PB那样)c#.NET行吗?
- DevExpress DataNavigator分页控件,急急急,求帮忙!!!万分感谢!!!
- 高分请教透明控件的问题! 如何用C#做透明控件,例如:Label标签,Button按钮,或是Pan(Form窗体可以做到).当然是在WINFORM下的实现。
- 超急,在线等,关于BufferedStream类的使用
- 关于怎么横向输出有一字段的内容。。最好用datagrid..仿佛很简单。仿佛有很难。
public class ListenOnPaint:System.Windows.Forms.IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
// TODO: 添加 ListenOnPaint.PreFilterMessage 实现
if(m.Msg==0x000F)//WM_PAINT
{
Console.WriteLine("paint");
return true;
}
return false;
}
}
在main里
[STAThread]
static void Main()
{
Application.AddMessageFilter(new ListenOnPaint());
Application.Run(new Form1());
}
即可
public class Form1 : Form ,IMessageFilter
{
void myPaint(...){
//paint
}
public bool PreFilterMessage(ref Message m) {
if (m.Msg == ON_PAINT ) {
myPaint();
return true;
}
return false;
}
static void Main()
{
Form1 frm = new Form1();
Application.AddFilter(frm);
Application.Run(frm);
}
}