解决方案 »

  1.   

    可以写个类,对DGV进行二次封装
      

  2.   


    我按照这种方法试了一下:http://www.cnblogs.com/sufei/archive/2010/05/12/1734028.html
    但是DGV没有发生变化,在OnCreateControl里下断点也不会中断,不知道是什么原因。
      

  3.   

    所有用到datagridview的FORM都需要修改是肯定的,唯一能做的就是如何使代码最少,答案就是将设置这些属性的代码写成一个静态方法,然后在需要的地方写一行调用语句.
      

  4.   

    从DataGridView继承一个类,然后查找替换将所有的控件替换成对它的使用。
      

  5.   

    可以试试在datagridview外层form的controladded事件里判断控件是否是datagridview 如果是,就改变它的属性..不过这种其实也就是对form的继承....和继承datagridview大同小异....
      

  6.   

    写个公用的方法去设置你要的属性,然后把每个实例GDV传进去就ok了
      

  7.   

    由于datagridview有两个事件需要重载,所以最后还是自定义了一个dgv。
      

  8.   

    设置DataGrudVuew中字体的样式
    //绑定显示数据
    private void Frm_Main_Load(object sender, EventArgs e)
            {
                dgv_Message.DataSource = new List<Student>() {//绑定到数据集合
                new Student(){Name="小明",Age=30},
                new Student(){Name="老张",Age=40},
                new Student(){Name="文明",Age=33},
                new Student(){Name="大海",Age=31}};
                dgv_Message.Columns[0].Width = 200;//设置列宽
                dgv_Message.Columns[1].Width = 170;//设置列宽
                dgv_Message.DefaultCellStyle.Font = //设置网格中字体样式
                    new Font("隶书",15);
            }
    //使用代码编辑器修改此方法的内容。
                 private void InitializeComponent()
            {
                this.dgv_Message = new System.Windows.Forms.DataGridView();
                ((System.ComponentModel.ISupportInitialize)(this.dgv_Message)).BeginInit();
                this.SuspendLayout();
                // 
                // dgv_Message
                // 
                this.dgv_Message.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
                this.dgv_Message.Dock = System.Windows.Forms.DockStyle.Fill;
                this.dgv_Message.Location = new System.Drawing.Point(0, 0);
                this.dgv_Message.Name = "dgv_Message";
                this.dgv_Message.RowTemplate.Height = 23;
                this.dgv_Message.Size = new System.Drawing.Size(438, 148);
                this.dgv_Message.TabIndex = 0;
                // 
                // Frm_Main
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(438, 148);
                this.Controls.Add(this.dgv_Message);
                this.Name = "Frm_Main";
                this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                this.Text = "设置DataGridView控件中字体的样式";
                this.Load += new System.EventHandler(this.Frm_Main_Load);
                ((System.ComponentModel.ISupportInitialize)(this.dgv_Message)).EndInit();
                this.ResumeLayout(false);        }
      

  9.   

    你的画面又没有自己的基类?
    有基类的话在基类的formload里面去找本页面存在的dgv,然后改没有基类的话写个方法,把这个方法注册进所有的form的load事件