Hallo.. Ich bräuchte Hilfe bei meinem Programm, das ich in C# programmiere. Ich habe vor, dass ich durch einen Button eine neue Windows-Form öffnen kann. Bisher schaffte ich es, dass ich durch einen Button eine Windows-Form öffnen konnte, jedoch leider nur als externes Fenster. Jedoch möchte ich über einen Button erzielen, dass praktisch die erste Seite "gelöscht" wird (Buttons, textBox, etc.) und ich es neu modellieren kann. Zum Beispiel: Bei der Installation kommt man über den "weiter" Button auf eine neue Seite, die sich jedoch nicht extern öffnet. Ich bräuchte jetzt einen Code für diese Aktion. Und meine zweite Frage ist, wie man abfragen kann, ob ein Button gedrückt worden ist. Jetzt schon vielen Dank
Hallo,erklär mal genauer was du mit der neuen Form machen willst. Zu prüfen,ob ein button gedrückt wurde,brauchst du nicht. Du schreibst in den ereignisbehandler des Button was zu tun ist,wenn der Button gedrückt wird und gut ist. gruss andy
moin, das sind grundlagen, die du dir erstmal aneignen solltest.es bringt dir nichts fertigen code zu haben und diesen nicht zu verstehen. hier einige links zu den grundlagen http://www.guidetocsharp.de/ http://openbook.galileocomputing.de/visual_csharp/ sorry raik
Hallo,wollte grade noch daselbe wie mein Vorredner schreiben. Eigne dir erst mal dir Grundlagen an und arbeite dich langsam zu dem vor,was du vorhast.Fertigen Code auszuführen kann jeder, ihn zu verstehen musst du können. Ich habe mit dem Buch "Jetzt lerne ich Visual C# 2008 " angefangen. Ist gut verständlich geschrieben und man kommt vorwärts. gruss andy
andy schrieb:
> Hallo,erklär mal genauer was du mit der neuen Form machen willst.
über einen Button in der Form1 will ich praktisch diese Form1
überschreiben und neu modellieren.
Das mit dem Button funktioniert danke
Hallo, versuch doch erst einmal in kleineren Schritten zu arbeiten. 1. Im Projektmappenexplorer rechtsklick auf "Projektname" 2. Hinzufügen Windows Form 3. Namen vergeben 4. In Button Click Ereignis eine Instanz vom Typ Form 2 erzeugen Form2 myForm2 = new Form2(); 5. Jetzt per ShowDialog() oder Show() das Formular öffnen myForm2.ShowDialog(); Mit der Methode Hide() könntest du vorher das erste Formular verstecken. usw. Der Einstieg in c# kann recht schwer fallen. Deswegen ist es m.M.n. wichtig kleinschrittig zu arbeiten und vor allem ein gut verständliches Einsteigerbuch durchzuarbeiten bevor man anfängt zu programmieren. Gruß technikus
Hallo, ich rate dir dein Bedienkonzept zu überdenken. In Form sollten keine Elemente in irgendeiner Form gelöscht oder "magisch" verändert werden. Warum willst du überhaupt die GUI-Elemente verändern? Entweder du zeigst eine neue Form (modal) an, oder du arbeitest mit Tabs.
Was hier gesucht wird ist eine _ Form mit _einem TabControl und mehreren Seiten, dessen Aussehen etwas verändert wird...
1 | // z.B. im Konstruktor nach InitializeComponent();
|
2 | |
3 | tabControl1.SuspendLayout(); |
4 | |
5 | // Appearance umstellen, damit keine Ränder übrigbleiben
|
6 | tabControl1.Appearance = TabAppearance.Buttons; |
7 | tabControl1.SizeMode = TabSizeMode.Fixed; |
8 | // Größe der Tabs inkl. Text/Icons auf Minimum
|
9 | tabControl1.ItemSize = new Size(0, 1); |
10 | |
11 | tabControl1.ResumeLayout(true); |
12 | |
13 | // Umschalten der Seiten
|
14 | tabControl1.SelectedTab = tabPage1; |
Hallo,ist ja nett wenn Ihr solchen Code postet. Ihr glaubt doch wohl nicht,das Ihr dem Fragesteller damit helft. Er wird nun zuhause sitzen,sich den Code anschauen,ihn nicht verstehen,ihn irgendwo in sein Programm reinkopieren und sich wundern,das er von Fehlermeldungen erschlagen wird.Aber die kann er ja dann wieder hier posten usw.Helfen ist ja gut und schön.Wenn man aber merkt,das jemand,der ganz am anfang des erlernens einer Programmiersprache steht sofort etwas schreiben will,was noch viel zu schwer für ihn ist,sollte man ihn zum lernen animieren und nicht mit Codeschnipseln eindecken. Nur so meine Meinung. gruss andy
Ich hab das auch mal probiert - vor langer Zeit. Die Methode ist zwar nicht so elegant, aber sie funktioniert: Du nimmst ein Control Array und speicherst dort die einzelnen Seiten rein: aktPage = 0; Control[][] pages = new Control[] { new Control[] {Button1, TextBox1, Label1,...}, //Seite 1 new Control[] {Button2, TextBox2, Label2,...}};//Setie 2 void ShowPage(int page) { SetPageEnable(aktPage,false); SetPageEnable(page,true); aktPage = page; } void SetPageEnable(int page, bool status) { for(int i = 0; i!=pages[page].Length;i++) pages[page][i].Enable = status; }
andy schrieb: > Er wird nun zuhause sitzen,sich den Code anschauen,ihn nicht > > verstehen,ihn irgendwo in sein Programm reinkopieren und sich > > wundern,das er von Fehlermeldungen erschlagen wird. Nein das stimmt nicht so ganz..Ich bin nicht einer von denen der nur "strg+c & strg+v" Leuten..Ich schau mir den Code an und versuche ihn dann zu verstehen. "C" hab ich mir auch teilweise so erarbeitet, weil es unser Lehrer nicht gut genug erklärt hat. Und nun kann ich es mittlerweile ;) Doch nur Konsolenanwendungen werden nach der Zeit fad..Deswegen hab ich mich entschieden C# zu lernen..und dass schaff ich genau so :)
Hallo,das ist doch mal eine antwort,super. Endlich mal einer der biss zeigt. Häng dich rein und du wirst es lernen.Nur mein Tip.Fang mit dem Grundwissen an.C und C# sind zwei paar Schuhe. Fang klein an und erweitere deine Forms. Dann wirst du feststellen,das das was du vorhast gar nicht so schwer ist. Viel Spaß dabei andy
jop ich muss mir erst mal Grundwissen aneignen, deshalb lese ich mir mal alles genau auf der Seite www.java2s.com an.. Da ist auch zwar nur immer der Quellcode..Doch es klappt, wenn ich ein bisschen nachdenke .. MfG
Sofern ich das verstanden habe willst du sowas wie einen wizard, also Seite für Seite durchgehen. Schau dir mal die Usercontrol Klasse an, dan kannst du dir deine spezifische Oberfläche für jede Seite selbst basteln. Einfach dann die verschiedenen Usercontrols nach belieben einblenden (DockStyle = Fill), und eventuell Variablen in der Main Klasse (also bei dir Form) zwischenspeichern. Die Form hat eine Liste von beinhaltenden Controls, da würde also immer nur deine aktuelle Control drinne stehen (Mal von den Vor und Zurück Buttons abgesehen).
stimmt... Einen Wizard wollte ich programmieren.. jetzt weiß ich wo ich mich umschauen muss Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.