基类开放一个属性datagridview
继承类把各自的datagridview赋值给他就可以了

解决方案 »

  1.   

    我怎样开放基类的columns这个属性,继承类datagridview控件所有的属性都不能修改,还望楼上能详细些
      

  2.   

    实际上我的建议是基类可以不用去管datagridview的事情,这个放给子类去做基类可以开放一个BindingSource就可以了,基类只做数据处理相关的事情,把界面交给下面去做我做了一个简单的例子:
    基类:
    namespace te
    {
        public partial class Form7 : Form
        {
           //开放一个BindingSource,这里是vs2008的代码,如果你是vs2005,请改动这里代码,以符合vs2005的要求
            public BindingSource bs1
            {
                get;
                set;
            }
            public Form7()
            {
                InitializeComponent();
            }
            //处理首条记录的button事件
            private void button1_Click(object sender, EventArgs e)
            {
                this.bs1.MoveFirst();
            }
           //处理下一条记录的button事件
            private void button2_Click(object sender, EventArgs e)
            {
                this.bs1.MoveNext();
            }
        }
    }子类代码:
    namespace te
    {
        public partial class Form8 : te.Form7
        {
            public Form8()
            {
                InitializeComponent();
            }        private void Form8_Load(object sender, EventArgs e)
            {
                this.bs1 = new BindingSource(); 
                bs1.Add("a"); //这里是数据绑定过程,我不想写太多数据库提取的代码,只简单绑两个字符做为演示,你可以自己改成你的数据绑定过程,如果对BindingSource数据绑定过程有疑问,请参考msdn的相关说明
                bs1.Add("b");
                this.dataGridView1.DataSource = bs1;
             
            }
        }
    }