Antwort

2

Welche Art von Problem wurden Sie konfrontiert? Wie auch immer, ich habe eine (noch grundlegende) Beispielstruktur dafür erstellt, wie Sie dies in WinForm erreichen können. Ich habe eine Art Model-View-Presenter-Muster verwendet.

allererst wir einen Moderator haben, die mit der Arbeitseinheit fast ähnlich der Wegeregler nicht

internal class EmployeePresenter 
{ 
    private readonly IEmployeeFormView _employeeFormView; 
    private readonly IUnitOfWork _unitOfWork; 

    public EmployeePresenter(IEmployeeFormView view) 
    { 
     _employeeFormView = view; 
     _unitOfWork = new SqlUnitOfWork(); 
    } 

    internal void GetData() 
    { 
     var id = 1; //parameter 
     var employee = _unitOfWork.Employees.Single(e => e.Id == id); 
     _employeeFormView.PopulateData(employee.Name); 
    } 
} 

Dann haben wir eine Schnittstelle und eine Form zur Umsetzung dieser Schnittstelle

public interface IEmployeeFormView 
{ 
    void PopulateData(string data); 
} 

public partial class EmployeeForm : Form, IEmployeeFormView 
{ 
    private readonly EmployeePresenter _presenter; 

    public EmployeeForm() 
    { 
     InitializeComponent(); 
     _presenter = new EmployeePresenter(this); 
    } 

    #region IEmployeeFormView Members 

    public void PopulateData(string data) 
    { 
     txtName.Text = data; //txtName is a textbox on form 
    } 

    #endregion 

    private void btnGet_Click(object sender, EventArgs e) 
    { 
     _presenter.GetData(); 
    } 
} 

beschäftigen würde Fügen Sie die erforderliche Referenz hinzu und Sie sind fertig. Dies ist vielleicht nicht der beste Weg, aber es ist sicherlich ein Weg, dies zu erreichen.

Die Lösung wird hochgeladen here.

Hoffe, das hilft. Bitte zögern Sie nicht zu diskutieren, falls erforderlich.

+0

Dies ist jenseits meines Wissens. Wenn es Ihnen nichts ausmacht, können Sie ein Beispiel mit diesen zwei Mustern hochladen und Repository und binden Sie das Formular ohne MVP-Muster – user1018104

+0

okay, ich habe eine simpleForm in das Projekt und hochgeladene Lösung [hier] (http://www.box. com/s/f301bfca099c082d059f) – Adil

+0

Hallo noch einmal, ich dieses Projekt zu vb.net umgewandelt habe, aber wenn ich das Projekt der folgenden Fehler angezeigt laufen: Mapping und Metadaten-Informationen nicht für EntityType ‚EmployeeDomain.Employee‘ gefunden werden konnten . – user1018104

Verwandte Themen