|
You last visited: Today at 03:32
Advertisement
[How-To]Instanzierung von Forms
Discussion on [How-To]Instanzierung von Forms within the Coding Tutorials forum part of the General Coding category.
11/06/2013, 18:19
|
#1
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
[How-To]Instanzierung von Forms
Da ich in diesem Forum genug von sowas hab:
(Dies geht, da VB.net eine implizite Instanz des Dialogs erstellt & Sie anzeigt (stammt aus VB6 Zeiten))
Zeig ich euch einfach mal, wie und vorallendingen wieso man eine Klasse instanzieren sollte;
Warum sollte man eine Klasse instanzieren?
Zu allererst, was ist eine Klasse?
Eine Klasse ist der Bauplan eines Objekts, welcher bei der instanzierung mittels dem Schlüsselwort new gegründet wird (also das Objekt). Wenn wir nun ohne Instanzierung auf die Klasse zugreifen, führt dies dazu, dass am Bauplan Sachen verändert werden --> Auswirkungen auf weitere Instanzierungen.
Probleme bei nicht Instanzierung:
-Um Events formübergreifend zu abonnieren wird eine Instanz dieser benötigt.
-Es können keine zwei Formen angezeigt werden, da bloß ein "Objekt" bzw der Bauplan vorhanden ist.
-Da an dem Bauplan Sachen geändert werden, wird bei einer weiteren Instanzierung, das Objekt gemäß dem Bauplan gebaut --> Änderung an zukünftig instanzierten Objekten.
Wie instanziere ich eine Form nun richtig?
Eine Form instanziert ihr mittels dem Schlüsselwort new;
Code:
Dim frm as new form2
Nun gibt es zwei Möglichkeiten diese anzeigen zu lassen:
und
Was ist nun der Unterschied zwischen beiden?
Die erste Methode, zeigt einfach die Form an - Die sonstige Code Durchführung wird weder angehalten, noch sonst beeinträchtigt.
Anders bei der zweiten Methode, diese hält die Code Durchführung an, solange der Dialog offen ist. Ausserdem kann der Dialog eine "Antwort" geben.
Hier mal ein kleines Beispiel:
Code:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Using frm As New Form2
If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
MessageBox.Show("Ok wurde betätigt")
End If
End Using
End Sub
End Class
Code:
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.DialogResult = Windows.Forms.DialogResult.OK
End Sub
End Class
Mit dem Klick auf Button1 schliesst sich die Form & die Messagebox erscheint.
Dies dient also, als eine Art Dialog mit Rückgabemöglichkeit.
Ich habe hier ausserdem eine using-kapselung genutzt, da die Klasse IDisposable implementiert & somit automatisch .dispose() aufgerufen wird.
|
|
|
11/06/2013, 19:39
|
#2
|
elite*gold: 159
Join Date: Jun 2013
Posts: 1,776
Received Thanks: 2,004
|
Quote:
Originally Posted by DeinMud
Da ich in diesem Forum genug von sowas hab:
|
Quote:
Originally Posted by DeinMud
|
Oha viel besser
|
|
|
11/06/2013, 22:44
|
#3
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
???
Ich hab bis jetzt in diesem Forum noch keinmal in einem Code Ausschnitt gesehen, dass eine Form richtig instanziert wurde.
Ist ja schon traurig sowas ^
|
|
|
11/06/2013, 23:14
|
#4
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
Quote:
-Da an dem Bauplan Sachen geändert werden, wird bei einer weiteren Instanzierung, das Objekt gemäß dem Bauplan gebaut --> Änderung an zukünftig instanzierten Objekten.
|
in einem normalen .net programm sind die im designer angelegten formen bereits instanziert. man greift also keines wegs direkt auf das objekt zu sondern einfach nur auf die default instanz.
den grund das es diese default instanzen gibt ist schlicht und ergreifend das es am Anfang einfacher ist. Strikt oop ist es natürlich nicht, aber das ist .net so oder so nicht.
wenn man also keinen triftigen grund hat die formen per hand zu instanzieren ist es nicht notwendig.
|
|
|
11/07/2013, 07:34
|
#5
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Quote:
Originally Posted by tolio
in einem normalen .net programm sind die im designer angelegten formen bereits instanziert. man greift also keines wegs direkt auf das objekt zu sondern einfach nur auf die default instanz.
den grund das es diese default instanzen gibt ist schlicht und ergreifend das es am Anfang einfacher ist. Strikt oop ist es natürlich nicht, aber das ist .net so oder so nicht.
wenn man also keinen triftigen grund hat die formen per hand zu instanzieren ist es nicht notwendig.
|
Hast es erfasst, das ist nicht strikt oop also finger weg davon
@Y U K I
Das hat nichts mit Besserwisserei zu tun, in diesem Forum sind bloß viele Leute die
veralteten **** gelehrt bekommen, von Leuten wie dir und tolio. Also bitte erst lernen dann posten.
|
|
|
11/07/2013, 10:12
|
#6
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
ok darf ich dann auch keine variablen mehr benutzen weil sie auch nicht strikt oop sind?
|
|
|
11/07/2013, 12:14
|
#7
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
OOP ist nicht das Maß aller Paradigmen. Nur mal so eingeworfen.
|
|
|
11/07/2013, 14:12
|
#8
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
Quote:
Originally Posted by DeinMud
Hast es erfasst, das ist nicht strikt oop also finger weg davon
@Y U K I
Das hat nichts mit Besserwisserei zu tun, in diesem Forum sind bloß viele Leute die
veralteten **** gelehrt bekommen, von Leuten wie dir und tolio. Also bitte erst lernen dann posten.
|
1. Ich finds ziemlich daneben das du hier jemanden angreifst, der dir jede noch so doofe Frage beantwortet hat und das teilweise noch mehrmals.
2. Das ganze hat wenige mit VB6 Abwärstkompatibilität zu tun.
3. Ein Programmierparadigma soll dich unterstützen, eins der wichtigsten Dinge ist dabei zu wissen wann eine Verletzung in Ordnung ist, es geht schliesslich nicht darum das Paradigma sklavisch zu verfolgen, wenn es dich gleichzeitig behindert.
4. Wenn striktes OOP derart wichtig für dich ist versteh ich beim besten Wille nicht warum du nicht eine Sprache nutzt die von Anfang an darauf ausgelegt ist. Es hat seine Gründe warum die meisten sehr verbreiteten Sprachen die Fähigkeit haben OOP Grundsätze zu verletzen.
|
|
|
11/07/2013, 17:13
|
#9
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Wer nicht oop programmiert sollte nichts mit programmieren am hut haben Punkt Wer anders meintm soll onkel google oder sich bei seinem prof beraten.
Und wenn du dich davon angegriffen fühlst dready, dann weisst du ja was schief läuft ; )
Weiterer off topic(flamewar), der nichts mit dem tutorial zu tun hat, wird nun Reported.
und vb.net benutze ich, da wir dies an der uni nutzen (Informatikstudium)
|
|
|
11/07/2013, 17:32
|
#10
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
Quote:
Originally Posted by DeinMud
Wer nicht oop programmiert sollte nichts mit programmieren am hut haben Punkt
|
ok lassen wir das einfach so als meinung stehen, wer mit einer "ich hab immer recht"-position in einer diskursion ankommt dem kann man eh nicht mehr helfen
Quote:
Originally Posted by DeinMud
Wer anders meintm soll onkel google oder sich bei seinem prof beraten.
|
ich bin mir da nicht so ganz sicher was du da mit google meinst, aber offensichtlich hat dir ein professor diese ideen in den kopf gesetzt, wunderbar das es inkompetenz an hohen stellen gibt. nunja ist nicht das erste mal braucht man sich also auch nicht drüber aufregen.
Quote:
Originally Posted by DeinMud
Und wenn du dich davon angegriffen fühlst dready, dann weisst du ja was schief läuft ; )
|
so wie ich das sehe bezog sich diese aussage auf das was er gequotet hat...
Quote:
Originally Posted by DeinMud
Weiterer off topic(flamewar), der nichts mit dem tutorial zu tun hat, wird nun Reported.
|
Das ist hier ist eine diskursion, "wer nicht meiner meinung ist fliegt raus" zieht da einfach nicht und ein famewar ist das ganze schonmal gar nicht weil hier argumentiert wird und nicht geflammt
Quote:
Originally Posted by DeinMud
und vb.net benutze ich, da wir dies an der uni nutzen (Informatikstudium)
|
cool story bro; würd mich mal so ganz offtopic interessieren an welcher uni das so ist
Da du ja erfolgreich meinen ersten ansatz auf diesen punkt hinzuweisen ignoriert hast (und einige hinweise anderer leute), hätte ich gerne trotzdem noch das du mir die frage beantwortest ob man jetzt keine valuetypen mehr in .net nutzen darf, schließlich sind diese auch nicht oop konform.
|
|
|
11/07/2013, 18:16
|
#11
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Quote:
Wer nicht oop programmiert sollte nichts mit programmieren am hut haben Punkt
|
Weil? Oder lernt man auf der Rütli-Schule kein Argumentieren?
|
|
|
11/07/2013, 19:08
|
#12
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
Quote:
Originally Posted by tolio
ok lassen wir das einfach so als meinung stehen, wer mit einer "ich hab immer recht"-position in einer diskursion ankommt dem kann man eh nicht mehr helfen
ich bin mir da nicht so ganz sicher was du da mit google meinst, aber offensichtlich hat dir ein professor diese ideen in den kopf gesetzt, wunderbar das es inkompetenz an hohen stellen gibt. nunja ist nicht das erste mal braucht man sich also auch nicht drüber aufregen.
so wie ich das sehe bezog sich diese aussage auf das was er gequotet hat...
Das ist hier ist eine diskursion, "wer nicht meiner meinung ist fliegt raus" zieht da einfach nicht und ein famewar ist das ganze schonmal gar nicht weil hier argumentiert wird und nicht geflammt
cool story bro; würd mich mal so ganz offtopic interessieren an welcher uni das so ist
Da du ja erfolgreich meinen ersten ansatz auf diesen punkt hinzuweisen ignoriert hast (und einige hinweise anderer leute), hätte ich gerne trotzdem noch das du mir die frage beantwortest ob man jetzt keine valuetypen mehr in .net nutzen darf, schließlich sind diese auch nicht oop konform.
|
1. Dieser Thread ist keine Diskussion sondern ein Tutorial, wer meint er weiß es besser soll seinen Weg gehen, wer jedoch bereit ist es gleich richtig zu lernen kann sich das Tutorial einfach ansehen.
2. Reported für off topic weil siehe 1.
Da ich keine Lust drauf habe euch jede noch so triviale Frage zu beantworten verweise ich auf Google und auf microsoft's entwicklerbuch (dahingegen ist das opengalileo book schrott)
|
|
|
11/07/2013, 19:23
|
#13
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
Quote:
Originally Posted by DeinMud
Wer nicht oop programmiert sollte nichts mit programmieren am hut haben Punkt Wer anders meintm soll onkel google oder sich bei seinem prof beraten.
Und wenn du dich davon angegriffen fühlst dready, dann weisst du ja was schief läuft ; )
Weiterer off topic(flamewar), der nichts mit dem tutorial zu tun hat, wird nun Reported.
und vb.net benutze ich, da wir dies an der uni nutzen (Informatikstudium)
|
Ich fühlte mich nicht angegriffen, aber ich fand es nicht sonderlich fair von dir so agressiv auf Tolio's Einwand zu reagieren, erstrecht nicht nachdem er wie ich das im Kopf habe ne Menge Zeit aufgebracht hat um dir zu helfen.
Sowohl meins als auch Tolio's Post drehten sich ganz klar um dein Tutorial, seh da beim besten Willen kein geflame oder Offtopic und es entbehrt nicht einer gewissen Ironie das du einen Satz vorher einen Seitenhieb auf mich verteilst.
Einen weiteren Satz davor erklärst du das jeder .NET, Java oder Cpp usw. usw. (ich überlass es dir weiter nachzuschlagen, denk du weißt worauf ich hinauswill), Programmierer eigentlich am besten mitm Programmieren aufhören sollte ohne auchnur einen Ansatz der Erklärung zu dem Warum abzugeben.
Genau das ist es auch was hier gerade etwas polarisiert. Aber du kannst nicht erwarten soetwas zu posten und dann zu sagen, niemand darf mehr was zu sagen.
Es geht hier darum das du auf recht angriffslustige Art und Weise etwas als absolut indisktuabel darstellst. Worauf Tolio rauswollte ist das es praktisch niemanden gibt der tatsächlich und 100% OOP Paradigmen befolgt, einfach weil es Ding gibt die deutlich bequemer sind, ohne dabei die Vorteile des ganzen total zu killen.
In dem Moment wo das hier das größte Problem mit dem Code der Leute ist können wir alle heilfroh sein.
|
|
|
11/07/2013, 19:39
|
#14
|
elite*gold: 0
Join Date: Jan 2010
Posts: 989
Received Thanks: 127
|
All deine genannten Progammiersprachen sind oop.
Ich habe gesagt, wer nicht oop proggt wenne die möglichkeit hat macht etwas falsch.
Es ist schwer jemandem etwas aus dem Kopf rauszuschlagen was er mal gelernt hat,
dann muss man einfach direkt sprechen, gilt nicht nur fürs proggen sondern fürs leben allgemein.
und Doch oop ist einfach pflicht geworden, solange man nicht grade mit Vb6 proggt.
Wer weitere Fragen hat, hier findet ihr kompetente Hilfe;
Aber achtung: Wennde dort soetwas wie Form2.show () bringt wirse ordentlich verdrescht gleiches gilt bei fehlender eigeninitiative & option strict off.
Ahja das oop muss ich gilt natürlich nicht unbedingt für kleine 50 zeilen Projekte, doch je grösser das Projekt desto mehr wirds pflicht.
|
|
|
11/07/2013, 20:18
|
#15
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Nö, cpp ist nicht ausschließlich _objektorientiert_ (eine Sprache kann nicht OOP sein).
Aber schön, dass du meine Posts und Hibterfragungen einfach überliest. So macht man sich Diskussion natürlich auch einfach: nur sehen, was man sehen will.
|
|
|
|
|
Similar Threads
|
Brushes / Formen ?
11/18/2012 - General Art - 5 Replies
Hey ,
Suche brushes oder formen womit ich sowas anstellen kann .
http://img4.fotos-hochladen.net/uploads/parasmall 0cxjpykd3s.png
Kennt da jemand packs die ich downloaden bzw kaufen kann ?
lg,
voltar
|
auoit formen
08/26/2010 - AutoIt - 3 Replies
hi ich wollte mal fragen ob amn die form der fenster i-wie ändern kann z.b zu ein 3eck oder so ähnlich ??
wenn ja wie?
|
Druide Formen Changen
06/06/2008 - World of Warcraft - 3 Replies
Afaik gabs schonmal sowas, ist aber verhaltet soweit ich weiß.... also, nachdem ich trotz allem mein MWCS nicht zum Laufen bekomme frage ich euch...
Baerform in Skelett (nogg) / Gnoll
Katzenform in Gnoll (nur wenn Baer Skelett ist) / der Tiger von den ZG Faustwaffen proc oder so, weiß es nicht genau ob es der ist sollte so aussehen: screen fuers erste rausgenommen
Danke im Vorraus.. achja, dafuer brauch man die exe oder? ;o
|
Druid Formen
06/04/2008 - World of Warcraft - 2 Replies
Hallo habe hier im Forum einen Link zu der .mpq datei gefunden nur leider ist der download invalid.
Cat (Allianz)---> Tigon
Bär (Allianz)---> Gnoll
Kann das vl. jemand der es hat neu uploaden oder mir schicken? 241888440 (iCQ) oder vl. gibts ja noch einen funktionierenden download link?
Mfg Fortex
<hr>Append on Jun 2 2007, 18:16<hr> Hat sich erledigt habe noch einen anderen Thread hier in dem Forum gefunden wo der Link funktioniert
|
druid formen verändern?!
05/18/2007 - World of Warcraft - 12 Replies
hey jungs,
also ich hab mir nen paar posts durchgelesen aber bin nicht
wirklich schlau drauß geworden :rolleyes: :rolleyes: .
wäre es denn nun möglich z.b. die bär form von einem dudu
in die form eines moonrage oder etwas andres zu wechseln?
dudu bär => moonrage(mob) ?
|
All times are GMT +2. The time now is 03:32.
|
|