C# 新手问个 控件事件的重载 如题:最好给出详细代码。另外vs2008不支持画横线了 怎么用重载onPaint事件,用System.Drawing.Graphics.DrawLine画来实现呢??? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问的太笼统了。vs2008不支持画横线了这谁告诉你的?你自己不是贴了方法了?System.Drawing.Graphics.DrawLine public class MyButton : Button{ protected override void OnPaint(PaintEventArgs pevent) { base.OnPaint(pevent); pevent.Graphics.DrawLine(Pens.Black, 0, 0, 100, 150);//花一条线 }} OnXX是响应消息的响应事件的方法是通过对象.事件 += 方法注册上去的。这个不是重载的。如果你要写某个窗体继承自某个窗体。这种很特殊的设计,只要把方法写成虚函数,子类override就可以了。明白了么? 哦 明白了,其实我是想画条横线 但VS2008没这个控件 上网搜, 别人说 重载onPaint事件,用System.Drawing.Graphics.DrawLine画 但不知道怎么写 就来求代码了 消消气 不知道他说的这个(上网搜, 别人说 重载onPaint事件,用System.Drawing.Graphics.DrawLine画 ) 重载是不是 指重写 应该是 我知道重写和重载 大哥们看这句话:上网搜的, 别人说 重载onPaint事件,用System.Drawing.Graphics.DrawLine画那这人说的就是错的, 应该是重写onPaint事件误导人啊! 这个的确叫重载,重载的不是事件响应函数。重载的是消息响应函数,.net再封装,也是windows上运行的,基于消息的操作系统,一切都要处理消息,OnPaint就是对应处理WM_PAINT消息的,进而在base.OnPaint方法中触发Paint事件。重载OnPaint使用我贴给你的那个的确是可以绘制线。但自己做一个Line控件,难点不是这里,而是如何在设计时可以呈现一个较好的操作。运行时么,你要知道。控件不透明的,会已一个外接矩形遮住下面部分,你还需要创建异型控件。否则你即便控件透明了,但依然会挡住鼠标消息。没生气,不用消气 :) 用storyboard做控件的移动,必须结合Canvas吗? ListBox C#窗体之间如何传值 手机应用程序开发,FtpWebRequest类 自己做的UI的关闭和最小化按钮问题 请问通过反射怎么获得方法参数的值 在Winform下面如何实现datagrid换行 c#如何连接ftp服务器? 再问一个关于DATAGRID的问题.想弄清楚DATAGRID的朋友请进! 新装的vs 2005 中在项目添加引用后,为什么出来的窗口只有两个按钮"确定"、"取消",没有选择框? 关于文本框求和 手机应用程序开发,FtpWebRequest类
这谁告诉你的?你自己不是贴了方法了?
System.Drawing.Graphics.DrawLine
{
protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
pevent.Graphics.DrawLine(Pens.Black, 0, 0, 100, 150);//花一条线
}
}
响应事件的方法是通过
对象.事件 += 方法
注册上去的。这个不是重载的。如果你要写某个窗体继承自某个窗体。这种很特殊的设计,只要把方法写成虚函数,子类override就可以了。明白了么?
) 重载是不是 指重写 应该是
重载OnPaint使用我贴给你的那个的确是可以绘制线。但自己做一个Line控件,难点不是这里,而是如何在设计时可以呈现一个较好的操作。运行时么,你要知道。控件不透明的,会已一个外接矩形遮住下面部分,你还需要创建异型控件。否则你即便控件透明了,但依然会挡住鼠标消息。
没生气,不用消气 :)