www.mikrocontroller.net

Forum: PC-Programmierung Problem bei kleinem C# Programm


Autor: Roman94 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: kiar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roman94 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Kanzler (scavanger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hier gesucht wird ist eine _ Form mit _einem TabControl und 
mehreren Seiten, dessen Aussehen etwas verändert wird...
    // z.B. im Konstruktor nach InitializeComponent();
    
    tabControl1.SuspendLayout();
 
    // Appearance umstellen, damit keine Ränder übrigbleiben
    tabControl1.Appearance = TabAppearance.Buttons;
    tabControl1.SizeMode = TabSizeMode.Fixed;
    // Größe der Tabs inkl. Text/Icons auf Minimum
    tabControl1.ItemSize = new Size(0, 1);

    tabControl1.ResumeLayout(true);

    // Umschalten der Seiten    
    tabControl1.SelectedTab = tabPage1;


Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;
}

Autor: Roman94 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roman94 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Eugler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Roman94 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt...
Einen Wizard wollte ich programmieren..
jetzt weiß ich wo ich mich umschauen muss

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.