首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform项目中,怎么在form中重写自定义datagridview事件

2012-06-09 
winform项目中,如何在form中重写自定义datagridview事件?有一个自定义控件datagridviewEx,继承自datagridv

winform项目中,如何在form中重写自定义datagridview事件?
有一个自定义控件datagridviewEx,继承自datagridview控件,其中有方法A,设置为可重写(virtual),
生成该控件,并把该控件放置在一个form上,现在想重写datagridview的方法A,要如何才能重写?
在form的代码状态下输入override,出来的智能提示只显示了form本身允许重写的事件,
看不到datagridviewEx的方法A,也就无法重写了。


[解决办法]

探讨

但这样好麻烦的啊,比如这个datagridviewEx放在form1上的时候,是想重写datagridviewEx的A方法为messagebox.show("123"),放在form2上的时候,是想重写为messagebox.show("123"),按照上述解决办法不是得写N多个类?不同的类放在不同的form上?

[解决办法]
C# code
using System;using System.Windows.Forms;namespace WindowsFormsApplication4{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void myUserControl1_OnMyEvent(string text)        {            MessageBox.Show(text);        }        private void myUserControl2_OnMyEvent(string text)        {            MessageBox.Show(text);        }        private void button1_Click(object sender, EventArgs e)        {            myUserControl1.MyEvent("123");            myUserControl2.MyEvent("456");        }    }    public class MyUserControl : UserControl    {        public delegate void MyDelegate(String text);        public event MyDelegate OnMyEvent;        public void MyEvent(String text)        {            if (OnMyEvent != null)            {                OnMyEvent(text);            }        }    }} 

热点排行