1. DataGridView和ContextMenuStrip的绑定是发生在DataGridView的CellMouseClick事件,在事件中指定右键菜单弹出;
2. DataGridView的列名称(columnName)的指定是(name)属性,如果没有手工指定,那么将会默认为DataPropertyName + 列类型(比如idTextBoxColumn),所以需要手工指定一下:
或者是在load方法中同步一下:
private void frmTaskList_Load(object sender, EventArgs e) { … foreach (DataGridViewColumn item in this.dgTaskList.Columns) { item.Name = item.DataPropertyName; } … }
3. 父类事件是不能直接让子类调用(但是可以通过实例化之后的子类来为父类的事件赋值),于是需要让父类通过方法封装一下于是有了:
public class BaseEditForm : Form { …
public event RefreshList RefreshParent; public void OnRefreshParent() { if (this.RefreshParent != null) { this.RefreshParent(); }
}
… }public partial class frmEditProject : BaseEditForm { …private void btnOK_Click(object sender, EventArgs e) { …base.OnRefreshParent(); this.Close(); } … }
原文:http://www.cnblogs.com/xiashiwendao/p/3661091.html