Problem bei kleinem C# Programm

Gast #1612465
Lesenswert?

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
Gast #1612471
Lesenswert?

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
Gast #1612483
Lesenswert?

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
Gast #1612484
Lesenswert?

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
Gast #1612752
Lesenswert?

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
#1613699
Lesenswert?

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;
Gast #1613744
Lesenswert?

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
Gast #1614898
Lesenswert?

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;
}
Gast #1616960
Lesenswert?

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 :)
Gast #1617397
Lesenswert?

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
Gast #1618272
Lesenswert?

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
Gast #1620243
Lesenswert?

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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren