描述如下:
vs2005,winform程序,我定义了一个基窗体,里面有datagridview控件,为了保持界面风格一致,和共享一些功能。
遇到问题如下:在子窗体中datagridview控件不可设计,Modifiers修改为protected没有起作用。查了下相关的资料,说像datagridview这样的大型控件,继承后不能修改。
那位高手知道怎么让datagridview在继承窗体里可以设计,比如调整大小等,或者变通的方法。
谢谢,在线等。
vs2005,winform程序,我定义了一个基窗体,里面有datagridview控件,为了保持界面风格一致,和共享一些功能。
遇到问题如下:在子窗体中datagridview控件不可设计,Modifiers修改为protected没有起作用。查了下相关的资料,说像datagridview这样的大型控件,继承后不能修改。
那位高手知道怎么让datagridview在继承窗体里可以设计,比如调整大小等,或者变通的方法。
谢谢,在线等。
public class MyDataGridView : DataGridView
{
}这样行吗
这个做法是不支持在IDE中用鼠标拖拽表格的。
你要是想完全控制表格控件,就是像4楼那样,自己直接写一个继承与DataGridView的控件
我是基窗体定义了datagridview控件,一个是保持界面风格统一,一个是有些功能要共享。如单元格选中事件等。
你说的自定义控件完成不了我想要的,谢谢你。
我不是做了用户控件,我是定义了一个基窗体。里面包含datagridview控件,还包括查询按钮等信息。
我的其他窗体是继承这个基窗体的。
红星星高手,救命啊,我应该怎么弄,才能在继承的窗体里可设计修改datagridview
{
public FrmBaseForm()
{
InitializeComponent();
}
/// <summary>
/// 定义基窗体的虚方法,继承的子窗体可以重写该方法,实现各子窗体的具体查询功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void cmdSearch_Click(object sender, EventArgs e)
{
}
/// <summary>
/// 定义基数据网格的虚方法,继承的子数据网格可以重写该方法,实现各子数据网格的取消默认选择行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void dgvBase_Enter(object sender, EventArgs e)
{
if (dgvBase.Rows.Count > 0)
{
dgvBase.Rows[0].Selected = false;
}
}
/// <summary>
/// 定义基数据网格的虚方法,继承的子数据网格可以重写该方法,实现各子数据网格的单元格选中事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void dgvBase_CellClick(object sender, DataGridViewCellEventArgs e)
{ }
/// <summary>
/// 定义基文本框的虚方法,继承的子文本框可以重写该方法,实现各子文本框的keydown事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void txtSearch_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
cmdSearch_Click(sender, e);
}
}
}