多个类或组件要用到同样的功能,只需实现接口功能
被调用类不需要知道调用类具体是哪个类,只需要调用类实现接口的
将处理的代码封装在实现接口的类中,每个类有不同的处理。
1.接口
public interface ISearch
{
void setSearch(string id, string name);
}
2.录入窗体
public partial class AddEntVideo : Form, ISearch
{
public AddEntVideo()
{
InitializeComponent();
}
private void btnSearchEnt_Click(object sender, EventArgs e)
{
SearchEnterprise searchEnterprise=new SearchEnterprise(this);
searchEnterprise.ShowDialog();
}
//高内聚 ,将处理的代码封装在实现接口的类中,每个类有不同的处理
public void setSearch(string id, string name)
{
lblEnterpriseID.Text = id;
txtEnterprise_Name.Text = name;
}
}
3.查询窗体
public partial class SearchEnterprise : Form
{
private ISearch iSearch;
public SearchEnterprise(ISearch iSearch)
{
InitializeComponent();
this.iSearch = iSearch;
}
public SearchEnterprise()
{
InitializeComponent();
}
private void dgvEnt_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex!=-1&&e.ColumnIndex==0)
{
iSearch.setSearch(this.dgvEnt.Rows[e.RowIndex].Cells[0].Value.ToString(), this.dgvEnt.Rows[e.RowIndex].Cells[1].Value.ToString());
}
this.Close();
}
}