Entwickler-Ecke
WinForms - Funktion an Button übergeben
bfmeb - Di 30.06.09 10:46
Titel: Funktion an Button übergeben
Hallo!
Bin Einsteiger, nutze WinXP, Visual Express C# 08!
Ich möchte an den Button
XMLConverterForm.cs
C#-Code:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| private void ConvertRun_Click(object sender, EventArgs e) {
}
eine Funktion zuweisen die in einem anderen Projekt und in einer anderen Klasse existiert |
Mapper.cs
C#-Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public bool Convert(string inputFilename, string outputFilename) { try { LoadMapping(inputFilename); Save(outputFilename); return true; } catch (Exception ex) { Trace.TraceError(ex.Message); return false; } } |
Muss ich eine Schnittstelle bauen? Wie übergebe ich die Parameter?
Das Tool ist ein Konvertierungstool, der Code ist fertig, ich soll eine GUI dahinter bauen.
Danke für schnelle Antworten.
gourmelin - Di 30.06.09 11:05
Hallo!
Du musst erstmal einen Verweis auf das andere Projekt hinzufügen. Also in deinem Projekt auf Verweise, Verweis hinzufügen, Projekte und dann das andere Projekt auswählen (wenn du beide Projekte in einer Projektmappe hast)
Gibt in der Express Version überhaupt Projektmappen? Falls nicht, musst du zuerst das eine Projekt erstellen. Du hast dann eine Dll in dem bin/relase ordner. Auf diese musst du den Verweis setzen.
dann musst du die using directive benutzen um die Convert Klasse in deinem Code verwenden zu können.
Dann eine INstanz der Klasse erstellen, z.B.
C#-Quelltext
1:
| using MyNamespace.Converter; |
C#-Quelltext
1: 2: 3: 4: 5:
| private void ConvertRun_Click(object sender, EventArgs e) { Convert c = new Converter(); c.convert("hier die Parameter","übergeben"); } |
jaenicke - Di 30.06.09 11:07
Hallo und :welcome: im Forum!
Da es sich bei Convert um keine statische Methode handelt, musst du das entsprechende Objekt instantiieren und dann darin die Methode aufrufen. also so ungefähr:
C#-Quelltext
1:
| new Mapping().Convert(@"c:\...", @"c:\..."); |
// EDIT:
Ja, genau, wobei das using nicht nötig ist, wenn Mapping sich im selben Namespace befindet.
bfmeb - Di 30.06.09 11:26
Okay Danke hier werd ich wenigstens nicht runtergemacht das ich sowas ni weiß!
Hat soweit geklappt :)
jaenicke - Di 30.06.09 11:30
bfmeb hat folgendes geschrieben : |
Okay Danke hier werd ich wenigstens nicht runtergemacht das ich sowas ni weiß! |
Man kann ja nicht alles sofort wissen. ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!