Entwickler-Ecke

Basistechnologien - Methode einer anderen Form


Talemantros - Do 31.12.15 11:55
Titel: Methode einer anderen Form
Hallo,
ich habe ein Form mit einem UserControl drauf.
Dort möchte ich eine Methode nutzen aus einem anderen Form/UserControl heraus.

Im Moment machen ich dies wie folgt.

Ich rufe die Form aus und übergebe per Property ein Wert an die Form, der sie dann an das UserControl weiter gibt

C#-Quelltext
1:
2:
3:
Barcodeverwaltung myBarcode = new Barcodeverwaltung(0);
myBarcode.BarcodeText = "TEST";
myBarcode.Show(this);

Im UserControl schaue ich dann, ob es aufgerufen wurde mit übergebenem Wert oder ohne
und wenn es mit übergebenem Wert ist, dann soll etwas ausgeführt werden.
Dies funktioniert auch soweit, aber es wird halt immer das Form mit angezeigt.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void BarcodeNeuUserControl_Load(object sender, EventArgs e)
{
    localBarcode = BarcodeMethods.GetAllBarcodeData();
    bsBarcode.DataSource = localBarcode;

    if (BarcodeText != null)
    {
        txtText.Text = barcodeText;
        Drucken();
    }
}

Geht dies auch ohne die Form aufzurufen/anzuzeigen?

Danke

Gruß

Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.


Th69 - Do 31.12.15 12:39

s. meinen Beitrag in Form schließen [http://www.entwickler-ecke.de/viewtopic.php?p=697818#697818]


Ralf Jansen - Do 31.12.15 14:45

Wenn es eine Funktionalität ist die auch ohne Anzeige auf dem Bildschirm stattfinden soll wieso ist sie dann überhaupt Teil einer Form/Control?


Talemantros - Do 31.12.15 14:53

Die Form hat schon eigene Funktionen, die vom User genutzt werden sollen/können. (Drucken des Barcodes)
Da ich diese in anderen Modulen auch brauchte kam daher die Idee.

Vielleicht sollte ich aber, wenn ich gerade drüber nachdenke, die Logik des Druckens in eine andere von der UI abgetrennte Schicht legen und dann drauf zugreifen.
Das mit dem 3 SchichtArchtiktur hatte ich ja noch nicht umgesetzt und wird mir hier gerade erst bewusst aufgrund deiner Anfrage :-)

Insgesamt muss ich mir das mit den Events noch mal näher anschauen