Ich versuche, ein Model-View-Presenter-Muster in C# Windows Forms zu implementieren. Ich habe verschiedene Methoden ausprobiert, habe dies aber nicht herausgefunden. Gibt es trotzdem eine Benutzereingabe von einem Textfeld, wenn der Benutzer auf das Textfeld klickt? Wenn nicht, was ist der typische Weg, um Daten an den Moderator weiterzugeben? Ich kann das on_text_changed Ereignis der Textbox verwenden, aber dann bin ich verwirrt, wie man die Daten validiert.So akzeptieren Sie Eingaben aus dem Textfeld
0
A
Antwort
1
Ich denke, es ist einfach hier sind die MSDN Links, die die Funktion von TextBox
Klasse mit Code veranschaulichen.
& Validieren mit: Control.Validated Event
Hoffe, es hilft!
0
Sie möchten für die Leave
event hören. Das passiert, wenn das Textfeld den Fokus verliert; Danach können Sie Ihre Validierung durchführen.
1
Ich weiß, dass dieser Thread zu alt ist, aber immer noch.
public interface IProjectView
{
string textBoxText{get;}
}
es in Project implementieren
public class ProjectView : IProjectView
{
ProjectPresenter _presenter;
public ProjectView()
{
_presenter = new ProjectPresenter(this);
}
string textBoxText
{
get
{
// Do validation if you want
return textBox1.Text;
}
}
}
class ProjectPresenter
{
IProjectView _view;
public ProjectPresenter(IProjectView view)
{
_view = view;
}
public void AnyMethod()
{
// Access value of textbox as _view.txtTextBoxText
}
}
-Code nicht getestet, sollte aber gut funktionieren.
In Bezug auf die Validierung, während die Eigenschaft in ProjectView implementieren, führen Sie die Validierung vor dem Wert zurück.