Neue Form einbinden
-
Jack3345 schrieb:
Was an meinen fragen so nerven raubend ist kann ich nicht verstehen
zumal man im Forum nicht antworten muss.Weil es schwierig zu verstehen ist, was Du eigentlich willst und man mehrfach nachfragen muss.
Jack3345 schrieb:
Deine Lösung ist schon echt gut aber nicht sehr elegant
Bin sehr gespannt wie man einen Zweizeiler eleganter formuliert
-
Lach
Ich bin mir sicher das Du das verstanden hast
Ist es möglich das 2. Projekt Wp_Tabelle in eine Art Liste
in den ersten Projekt TZango einzubinden.
-
Jack3345 schrieb:
Ich bin mir sicher das Du das verstanden hast
Ist es möglich das 2. Projekt Wp_Tabelle in eine Art Liste
Ne mein Freund. Ich kann nur raten. Und da Dir sonst niemand antwortet ...
Dich stört das "PopUp Fenster". Sagen wir "Dialog" dazu.
Willst Du also das Fenster in ein anderes Hauptformular "einbetten"?
Was hat das dann mit einer Liste zu tun?
Sprichst Du von List<Form> ?Natürlich kann man Forms einbetten. Mache ich täglich, aber in Winforms und nicht in WPF. WPF kann man zwar auch klassisch programmieren aber bevor ich dir alte Vorgehensweisen für neue Technologien empfehle, präzisiere erstmal Deine Frage. Vielleicht findet sich dann ein WPF-Mensch der Dir hilft.
-
das man als Anfänger solche Sachen eher nur versucht zu beschreiben sollte klar sein und ich finde es schade das Du gleich los feuerst nur weil Du C# lange genug gelernt hat.
Willst Du also das Fenster in ein anderes Hauptformular "einbetten"?
Genau das habe ich versucht zu sagen
Danke für deine Gedult
-
Lerne blos nie C++. Der Ton in deren Unterforum ist wirklich rau
Es hat mich auch gerade mal interessiert wie man das in WPF macht, wovon ich eigentlich keine Ahnung habe. Forms in andere Forms einbetten geht dort wohl nicht mehr. Man verwendet eher UserControls.
Bestehende Window-Klassen kannst Du abändern und von UserControl statt von Window ableiten. In der XAML-Definition wird das <Window> Tag zu <UserControl>. Sauberer ist natürlich von anfang an ein UserControl statt eine Form zu entwickeln, v.a. weil bei dem Umbau natürlich auch weitere Arbeit notwendig ist ("Title" existiert z.B. nicht in UserControl und wird angemeckert).
Nun hast Du ein Hauptformular in das alle UserControls eingebettet werden können. Dazu einfach ein Grid als Platzhalter auf das Formular ziehen, zwei Buttons darunter und in den jeweiligen Buttonhandlern lädst Du immer eines von (testweise) zwei UserControls:
private void button1_Click(object sender, RoutedEventArgs e) { grid1.Children.Clear(); grid1.Children.Add(new UserControl1()); } private void button2_Click(object sender, RoutedEventArgs e) { grid1.Children.Clear(); grid1.Children.Add(new UserControl2()); }
Sollen die Controls nicht stets neu angelegt sondern ihren Zustand auch im nicht-angezeigten Zustand behalten, musst Du Referenzen auf sie in der Klasse halten.
Nachtrag: Im Unloaded-Event kann man darauf reagieren, wenn das Control aus dem grid1 genommen wird. Damit hat man den Lebenszyklus unter Kontrolle. Gefällt mir.
-
Guten Morgen
Muss ich dazu eine neue Form anlegen ?
habe eine "grid" angelegt mit 1 Button
bekomme eine Fehlermeldung der Typ oder Namespace UserControl1 konnte nicht gefunden werden.Es schaut so aus :
private void buttonform_Click(object sender, RoutedEventArgs e) { WP_Tabelle.Form1 form = new WP_Tabelle.Form1(); form.Show(); } private void button2_Click(object sender, RoutedEventArgs e) { grid1.Children.Clear(); grid1.Children.Add(new UserControl1()); } } }
und
<Grid Height="79" Name="grid1" Width="497"> <Button Content="Button" Height="39" HorizontalAlignment="Left" Margin="10,10,0,0" Name="button2_Click" Click="button2_Click" VerticalAlignment="Top" Width="96" /> </Grid>
-
Du musst, wie gesagt, Deine Form zu einem Usercontrol umbauen.
Oder, wie gesagt, ein neues Usercontrol entwickeln: Rechte Maustaste auf Projekt (im Projektmappen-Explorer) -> Hinzufügen -> Benutzersteuerelement.
-
okay habe ich gemacht nun habe ich eine UserControl1.cs Datei im Projekt
und erhalte 2 Fehlermeldungen
Die beste Übereinstimmung für die überladene
System.Windows.Controls.UIElementCollection.Add(System.Windows.UIElement)-Methode
hat einige ungültige Argumente.1-Argument: Kann nicht von "Tzango.UserControl1" in "System.Windows.UIElement" konvertiert werden.
-
Ich habe mal die form vom Projekt 2 umgebaut ich hoffe das war so gemeint
schaut so aus:
namespace WP_Tabelle { using ..... public class Form1 : UserControl { public Form1() { this.InitializeComponent(); try {
Nun kommt noch eine Fehlermeldung mit UserControll1 konnte nicht gefunden werden.
-
Nun habe ich Form1 umbennant in Usercontrol
private void buttonform_Click(object sender, RoutedEventArgs e) { WP_Tabelle.UserControl form = new WP_Tabelle.UserControl(); form.Show(); } private void butto20_Click(object sender, RoutedEventArgs e) { grid1.Children.Clear(); grid1.Children.Add(new UserControl1()); } } }
ich bekomme die Fehlermeldung UserControl1 nicht weg
was mache ich falsch ?
-
Nach Deinem vorherigen Post heisst die Klasse in WP_Tabelle immernoch Form1, nicht UserControl. Dir fehlen wirklich die elementarsten Grundlagen. Das ist wirklich nicht böse gemeint, aber das bringt Dich so nicht weiter.
-
Hi
ich habe auch den namespace WP_Tabelle in UserControl1 umbennat
sowie den Ordner dementsprechend umbenannt in UserControl1private void buttonform_Click(object sender, RoutedEventArgs e) { UserControl1.UserControl form = new UserControl1.UserControl(); form.Show(); } private void butto20_Click(object sender, RoutedEventArgs e) { grid1.Children.Clear(); grid1.Children.Add(new UserControl1()); } } }
Dann kommt die Fehlermeldung das UserControl1 wie ein namespace benannt ist.
Das ich noch sehr wenig Kenntnisse von C# habe wurde schon mehr als einmal gesagt.
-
Jack3345 schrieb:
Das ich noch sehr wenig Kenntnisse von C# habe wurde schon mehr als einmal gesagt.
Ja und so macht das keinen Sinn.
Ich bin raus...
-
Leute was soll denn das wir sind hier in einem Forum wo jeder jeden hilft
warum fällt es euch so schwer ein Anfänger zu helfen.
ich glaube kaum das Euch die membrane durchballert wenn ihr versuche von ein Anfänger beobachtet.
Ihr habt auch mal klein angefangen.
wenn jeder gleich alles lernt ohne in einem Forum nachzufragen
oder sich auszutauschen sowie nach eine Lösung zu fragen bräuchte man kein Forum.zudem es immer leicht ist davonzurennen.
-
Nein Du missverstehst den Sinn und Zweck eines Forums. Das hier ist keine Plattform für persönliches Coaching bei den ersten Programmierschritten.
Der letzte Stand ist, dass Du jetzt aufs gute Glück alles mögliche in "UserControl" umbenannt hast und Dich wunderst, warum es nicht funktioniert. Oben stand ganz eindeutig was Du tun musst. Da Du aber mit Begriffen wie Klasse, namespace und Vererbung nicht hinreichend vertraut bist, ist hier mit der Hilfestellung schluß. Jetzt musst DU Initiative zeigen und Dir die Grundlagen anlesen. So, dass Du Antworten auch verstehen und umsetzen kannst.
Jeder hat klein angefangen, das ist wahr. Und zwar mit so etwas: http://www.amazon.com/2010-NET-Platform-Andrew-Troelsen/dp/1430225491
Oder besser noch ein anderes Buch davor. Das hier dürfte zu schwer und umfangreich für den Anfang sein."zudem es immer leicht ist davonzurennen."
Komm mir nicht mit der Psychotour.
-
Es gibt einfach gewaltige Unterschiede zwischen Hilfen, ein Problem zu lösen, und einem Grundlagenkurs. Letztere gibt es genug im Netz und in Büchern. Dafür hat sich schonmal jemand Zeit genommen und Du kannst davon profitieren.
Auf diese kleinschrittige Art und Weise jede Grundlage nachzufragen, kostet nicht nur Dich wahnsinnig viel Zeit (die Du besser in Grundlagenstudium investierst, weil danach der Rest viel schneller und einfacher von der Hand geht), sondern auch diejenigen, die Dir helfen möchten. Und dass Leute Dir helfen möchten ist unschwer daran zu erkennen, dass der Thread schon auf Seite 3 angekommen ist.
Aber die Art und Weise ist einfach nur mühsam.
-
@Jack3345,
Ja, jeder fängt klein an und zwar mit einem Buch. Oder mit einer Frage in einem Forum nach einem guten Buch. Ein Anfänger fängt aber sicher nicht mit WinForms oder WPF an. Das hat keinerlei Sinn.Es bringt einfach nichts dir zu helfen. Wir müssten dir hier zuerst alle Grundlagen von C# erklären. Dazu hat hier aber keiner Lust, da es unteranderem auch Bücher genau für diesen Zweck gibt.
Zudem muss ich sagen, dass ich deine Texte äusserst schwer lesbar empfinde. Du gehst äusserst geizig mit Satzzeichen um. Schon nur ein paar zusätzliche Kommas wären sehr hilfreich.
Wir helfen hier auch gerne jemandem bei den Grundlagen. Aber dann bleib spezifisch. Zeig, dass du in einem Buch liest (Eigeninitiative), aber mit einem speziellen Unterkapitel gerade nicht klar kommst. Und stell spezifische Fragen dazu.
Grüssli
-
das ist keine Psychotour sondern eine Feststellung
Eine Psychotour wäre wenn ich im Raum stelle das du davonrennst weil du zu klein bist.
Upps ich merke Grad das Du Kein vorausschauendes Denken hast und durch eine falsche Nettigkeit mir ein teures Buch andrehen willst.@LordJaxom du musst hier nicht den Papagei spielen oder möchtest du an das kurze Wissen teilhaben.
Nun ein schnelles Danke an den Kleinschreiber @µ
Gruß Jack