Okay, also das ist meine erste Windows Forms App und ich habe Schwierigkeiten, meinen Code zu strukturieren. begann alles in die Form1
Klasse, die standardmäßig zur Verfügung gestellt, alles zu schnell gewachsen. Ich bin mir bewusst, dass dies eine ziemlich schlechte Programmierpraxis ist, also begann ich etwas sauber zu machen und machte verschiedene Klassen, um das Prinzip der individuellen Verantwortung zu erfüllen. Da jedoch einige Schaltflächen- und Grid-bezogene Ereignisse in der Klasse Form1
gut funktionieren, bringt es sie zum Absturz und ich habe keine Ahnung, wie es gemacht werden sollte.Windows Formulare organisieren Code
public partial class Form1
{
public Form1()
{
InitializeComponent();
}
private void method1(object sender, EventArgs e)
{
//CODE
}
private void method2(object sender, DataGridViewCellEventArgs e)
{
//CODE
}
private void method3(object sender, EventArgs e)
{
//CODE
}
}
so würde Ich mag method1
, bewege method2
, method3
usw. zu einer anderen Klasse (oder verschiedene Klassen), aber ziemlich verlor, wie dies zu tun, ohne die App zu brechen. naja, privat ist es offensichtlich öffentlich, Zugriff zu gewähren, aber ich habe keine Idee, wie ich diese Methoden danach in der Klasse Form1 aufrufen soll. als ich neue Klassen erstellt und dann versucht habe, die Methoden für ein Ereignis aufzurufen, wie onClick: Newclass.method1()
, hat es nicht funktioniert. Eine Sache, an die ich denken könnte, ist wie eine Methode in Form1 onClick: thisMethodCallsTheOneINeedInADifferentClass()
anzurufen, aber das scheint eine plumpe Lösung zu sein ... Ich bin mir sicher, es gibt bessere Möglichkeiten, dies zu lösen, ich weiß einfach nicht wie. Rat geschätzt, danke
Ich würde empfehlen, die Event-Handler im Formular zu lassen. – stuartd
Sie haben wahrscheinlich mehr Glück, wenn Sie die Antwort erhalten, die Sie brauchen, wenn Sie besser definiert haben, was "es nicht funktioniert" bedeutet. Compilerfehler? Absturz? Ausnahme? –