@VBUser77 Ohne Getter und Setter wird das nichts.......
Will von form3 das ergebnis nach form 2 senden
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 48 Antworten in diesem Thema. Der letzte Beitrag () ist von frifri.
-
-
-
@Dksksm: Eh … what? Klar funktioniert das. Das Teil nennt sich AutoProperty. Diese Kurzschreibweise reicht.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Offensichtlich nicht, ist glaube ich auch ne Frage des Frameworks, bin mir aber nicht sicher.
Probier ich auch nicht aus, bin eh kein VB Programmierer. Zudem kann ich in der Kurzschreibweise nichts prüfen.
@VBUser77 Ich muss gar nichts ausser sterben, wenn ich das hier lese ist es nicht mehr weit hin.
-
@Dksksm:* getestet mit .NET-Framework 2.0, VS 2019 und VS 2022. Wohl eher eine Frage der Visual Studio-Version.
explizite Anrede, weil ich noch eine Antwort des TE erwarte …
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Hallo VaporiZed, Dein programmiercode verursacht ein fehler wegen Using und End Using. Nach End Using kommt dann End Sub oder soll ich das weglassen ?
VB.NET-Quellcode
- Using OBJ As New Form3
- OBJ.StringPass = ListBox1.Text
- OBJ.ShowDialog(Me)
- 'der folgende Code wird automatisch erst dann ausgeführt, sobald die Form3-Instanz namens OBJ geschlossen wurde
- MessageBox.Show(OBJ.ListBox1.Text)
- 'oder
- MessageBox.Show(OBJ.StringPass)
- 'oder wo auch immer beim Schließen von Form3 die gewünschten Daten drinstecken
- End Using
Standardmäßig kann form2 mit form3 mit diesen code kommunizieren:
Es geht eigentlich drum, das Form3 zurückkommuniziert zu form2 hin mit dem bearbeiteten wert
war ja nur eine vorstellung von mir gedacht aber ob (ListBox2.Text) richtig ist das weiss ich nicht.
Hallo RodFromGermany,
bezug: Dialoge: Instanziierung von Forms und Aufruf von Dialogen
verstehe ich leider nicht - nett wäre aber, wenn mir jemand ein programmiercode schreibt denen ich sofort einsetzen kann - wäre einfacher finde ich.
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „VBUser77“ ()
-
Das Schöne am
Using
ist ja gerade, dass das ObjektOBJ
, welches du aus der KlasseForm3
baust, durch dasEnd Using
auch wieder zerstört und freigegeben wird (disposed).
Innerhalb desUsing-Blocks
kannst du auf alle Eigenschaften vomOBJ
(Instanz der Form-Klasse Form3) zugreifen, also kannst du nach dem du das Formular schliesst noch immer auf die Eigenschaften zugreifen und somit auchOBJ.StringPass
noch verwenden, bis ebenEnd Using
erreicht wird.
Du musst die Zuweisung nur halt machen und das sehe ich nicht, dass du es tust.
Was ich nicht verstehe ist
MessageBox.Show(OBJ.ListBox1.Text)
Gibt es denn auf dem Form3 auch eineListbox1
?
Ich war der Meinung, bei deinem Code, dass es dieListbox1
nur auf Form2 gibt.
Daran kannst du schon sehen, dass es sehr viel mehr Sinn macht den Steuerelementen vernünftige, sprechende Namen zu geben.
-
-
Ich wiederhole mich auch gerne, du weist da nichts zu, mach es doch. Wie eine Zuweisung geht weißt du doch, denn du weist
OBJ.StringPass
den Value vonListBox1.Text
zu. Umgekehrt bekommst du das nicht selbst hin? Deine Erwartungshaltung passt nicht, nicht zu den Forumsregeln und nicht zu deinem eigenen Wissenstand. Arbeite mal an dir selbst als nur an anderen zu mäkeln, sie würden deine Text nicht lesen oder nicht drauf reagieren.
Hier ist Hilfe zur Selbsthilfe!
-
Hallo Dksksm, ich bin leider kein fortgeschrittener User der alles hinkriegt wie du dir das vorstellst. Wie ich auf bestimmte Programmiercode hinkomme hat was zu tun das ich das nachmache was andere gelernt haben und auch zeigen, sei es durch video oder auch durch etwas im Netz googeln. Bin halt kein Experte und mein Nickname bedeutet nur, daß ich gerne nur mit visual basic beschäftige aber nicht viel Erfahrung habe ok?! Gut.
Apropo News: Ich habe durch ein youtube video herausgefunden wie man die Werte der listbox nach form2 zurücksenden kann indem man diesen code: in Form3 im button einfügt gedacht für das senden der Werte nach form2 listbox2 zu senden. Allerdings für das senden muss man auch in form3 listbox1 den wert markieren - und ein anderes video von youtube wird gezeigt wie man multiple werte in der listbox ohne viele programmierkenntnisse markieren kann und mit dem obigen code an form2 listbox2 zurücksendet. Und ich muss erlich sagen: fantastisch wie man schnell mit visual basic lernen und arbeiten kann.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VBUser77“ ()
-
@VBUser77
...ich bin leider kein fortgeschrittener User der alles hinkriegt wie du dir das vorstellst... Bin halt kein Experte...
Das war ich vor drei Jahren auch nicht und werde es wohl auch nie sein . Doch man kann sich eben auch verbessern indem man Dinge nachliest und lernt.
Das Du @VaporiZed fragst, ob Du das End Sub weglassen kannst wegen End Using zeigt, das grundlegendes Wissen noch fehlt. Ich meine das in einer positiven Art (ich erinnere mich noch an unseren letzten Austausch).
Ich knall hier auch noch Code rein, aber der ist leider in C# und das wird Dir bei CopyPaste auch nix bringen. Ich habe nicht genau gelesen was Du jetzt genau machen möchtest. Ich hab den Post jetzt aus eigenem Interesse als Anlass genommen INotifyPropertyChanged nochmal nach zu sehen/lesen.
class mit event:
Spoiler anzeigen C#-Quellcode
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- namespace WF_VBUser77
- {
- public class PassContent : INotifyPropertyChanged
- {
- //--property
- private string _myString = ""; //backingField
- public string MyString
- { get => _myString; set => SetValue(ref _myString, value); }
- //^^property
- //--event
- public event PropertyChangedEventHandler? PropertyChanged;
- protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- protected T SetValue<T>(ref T backingFiled, T value, [CallerMemberName] string? propertyName = null)
- {
- if (EqualityComparer<T>.Default.Equals(backingFiled, value)) return value;
- backingFiled = value;
- OnPropertyChanged(propertyName);
- return value;
- }
- //^^event
- }
- }
frm1:
Spoiler anzeigen C#-Quellcode
- using System.ComponentModel;
- namespace WF_VBUser77
- {
- public partial class Form1 : Form
- {
- readonly PassContent passContent = new ();
- public Form1()
- {
- InitializeComponent();
- CenterToParent();
- //subcribe to the event -> event happens somewhere in app -> call HandlePropertyChange methode
- passContent.PropertyChanged += HandlePropertyChange;
- }
- private void HandlePropertyChange(object? sender, PropertyChangedEventArgs e)
- {
- TxbxFrm1.Text = passContent.MyString;
- }
- private void BtnFrm1_Click(object sender, EventArgs e)
- {
- Form2 form2 = new (passContent);
- form2.Show();
- //open frm2 next to frm1
- form2.SetDesktopLocation(this.Location.X + this.Size.Width, this.Location.Y);
- }
- }
- }
frm2:
Spoiler anzeigen C#-Quellcode
- namespace WF_VBUser77
- {
- public partial class Form2 : Form
- {
- private PassContent _passContentFromFrm1 = new();
- public Form2(PassContent passContent)
- {
- InitializeComponent();
- _passContentFromFrm1 = passContent;
- }
- private void BtnFrm2_Click(object sender, EventArgs e)
- {
- _passContentFromFrm1.MyString = TxbxFrm2.Text;
- }
- }
- }
Hier noch das gif. vom Quellcode das zeigt, das eine Form Daten aus einer anderen Form empfangen kann.
codewars.com Rank: 4 kyu -
VBUser77 schrieb:
Apropo News: Ich habe durch ein youtube video herausgefunden wie man die Werte der listbox nach form2 zurücksenden kann […] Und ich muss erlich sagen: fantastisch wie man schnell mit visual basic lernen und arbeiten kann.
Herzlichen Glückwunsch. Damit hast Du Dich endgültig (zumindest bei mir) disqualifiziert. Ich ziehe es in Erwägung, diesen und Deine anderen Threads als Warnung für andere User vor Dir zu verlinken.
Warum:- Du verschwendest unsere Zeit, weil Du nicht gewillt bist, die Dir gestellten Fragen zu beantworten. Post#2, #6, #14, #20
- Du bist nicht in der Lage, eine Fehlermeldung zu nennen, geschweige denn zu zitieren. Post#15, #17, #26
- Du bist anscheinend noch nicht mal in der Lage herauszufinden, wie Du selber an diese Fehlermeldung kommst, die Dir Visual Studio mitteilen will.
- Du bist nicht in der Lage, Codevorschläge zu verwenden, selbst wenn sie 1:1 passen würden, weil Du es schaffst, die selben Fehler wie ohne uns einzubauen. Post#15, #26
- Du willst Code ohne relevante Informationen zu liefern.
- Und die Tatsache, dass Deine supertollgefundene Lösung effektiv schon in Post#8 steht - UND ZWAR MIT EINER WARNUNG, DASS MAN ES NICHT SO MACHEN SOLLTE - selbst dazu bist Du nicht in der Lage.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. - Du verschwendest unsere Zeit, weil Du nicht gewillt bist, die Dir gestellten Fragen zu beantworten. Post#2, #6, #14, #20
-
VBUser77 schrieb:
VBUser77 schrieb:
fantastisch wie man schnell mit visual basic lernen und arbeiten kann.
Lernbefreiung
Leseschwäche
Das war es nun wirklich, @VaporiZed ich folge Dir.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Hallo guten morgen zusammen, Ich habe gestern abend ein problem in Form2 festgestellt: ich hoffe ihr könnt mir hier helfen - habe auch im netz gegoogelt bezug dieses problem aber anscheinend überhaupt was gefunden.
Problembeschreibung: Bei anklicken eines Button in form2, öffnet sich ein weiterer Form2 mit und bremst etwas - Normalerweise soll durch betätigen des Button eigentlich nur form3 öffnen, erreicht werden; - nun form3 öffnet sich damit, allerdings mit form2 dazwischen und es bremst als wenn es sich für 1 halbe sekunde lang hängt. Was könnte die ursache sonst sein ?
Ich habe in form2 im button diesen code hinzugefügt:
Grund des Fehlers: Weil bei form3 code:VB.NET-Quellcode
Ich habe auch im Button bei form2 diesen code: dazwischen geschrieben mit dem Ergebnis das das doppelte form2 fenster geschlossen wird was auch funktioniert aber bei betätigen des buttons hängt trotzdem etwas halt aber dann öffnet sich form3.
Ich bin für jede hilfe dankbar.
*Topics zusammengeführt, da scheinbar dasselbe Thema*
Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „VBUser77“ ()
-
mit Form2.Show machst du eine kopie von Form2 auf. nicht die selbe Form2 nochmal sondern eine kopierte Form2.
ich hab mir jetzt den ganzen Thread durchgelesen und weis immernoch nicht was du willst.
Soll form2, form3 öffnen. Daten übergeben, die in Form3 bearbeitet werden und dann wird Form3 geschlossen und die neuen/geänderten Daten stehen dann ich Form2?
oder willst Du beide Formen offen haben und wenn du was in Form3 änderst, dass das gleichzeitig in Form2 angezeigt wird? -
@frifri Ich gehe mal davon aus, dass Du diesen Thread hier verinnerlicht hast:
Dialoge: Instanziierung von Forms und Aufruf von DialogenFalls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
frifri schrieb:
NEW Form
Das behindert das Verständnis, und gerade hier bei VB-Anfängern.
Besser ist es da, die Instanzdlg
oderfrmInput
oder sonst wie zu benennen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
frifri schrieb:
wie würdest Du das machen?.ShowDialog()
) immer in einemUsing
-Block.
Wie die Instanz heißt, ist da nebensächlich.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
Daniel_0815 - - Sonstige Problemstellungen
-
Einfrieren der Form verhindern...Hilfe!
MediaXtremely - - Sonstige Problemstellungen