datenaustausch Form2 von Form1

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • datenaustausch Form2 von Form1

    Hi Leute

    Ich benutze Visual c++ 2005 Express.

    Vorab ich bin Anfänger und ihr werdet euch sich totlachen aber folgendes Problem:

    Ich hab ein Form1 erstellt wo ich über ein Menu ein zweites Form2 aufmache.Dieses Form2 hat eine TextBox1 und ein button1.Wenn ich jetzt etwas in die Textbox1 eintrage und den Button1 drücke soll dieser text in Form1 übertragen werden (wohin ist jetzt egal ich habs in ein label1 versucht).So und das schaffe ich einfach nicht.Ich bin soweit das ich den text von der Textbox1 in ein String einlese aber das wars auch schon.

    Kann mir da einer helfen?
    hier mein kompletter Code:

    Form1.h



    Quellcode

    1. #pragma once
    2. #include "Form2.h"
    3. namespace training {
    4. using namespace System;
    5. using namespace System::ComponentModel;
    6. using namespace System::Collections;
    7. using namespace System::Windows::Forms;
    8. using namespace System::Data;
    9. using namespace System::Drawing;
    10. /// <summary>
    11. /// Zusammenfassung für Form1
    12. ///
    13. /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    14. /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    15. /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    16. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    17. /// arbeiten, die diesem Formular zugewiesen sind.
    18. /// </summary>
    19. public ref class Form1 : public System::Windows::Forms::Form
    20. {
    21. public:
    22. Form1(void)
    23. {
    24. InitializeComponent();
    25. //
    26. //TODO: Konstruktorcode hier hinzufügen.
    27. //
    28. }
    29. protected:
    30. /// <summary>
    31. /// Verwendete Ressourcen bereinigen.
    32. /// </summary>
    33. ~Form1()
    34. {
    35. if (components)
    36. {
    37. delete components;
    38. }
    39. }
    40. private: System::Windows::Forms::MenuStrip^ menuStrip1;
    41. protected:
    42. private: System::Windows::Forms::ToolStripMenuItem^ dateiToolStripMenuItem;
    43. private: System::Windows::Forms::ToolStripMenuItem^ bearbeitenToolStripMenuItem;
    44. private: System::Windows::Forms::ToolStripMenuItem^ kateiHinzufügenToolStripMenuItem;
    45. public: System::Windows::Forms::TabPage^ tabPage1;
    46. private: System::Windows::Forms::Label^ label1;
    47. private: System::Windows::Forms::TabControl^ tabControl1;
    48. private: System::ComponentModel::IContainer^ components;
    49. private:
    50. /// <summary>
    51. /// Erforderliche Designervariable.
    52. /// </summary>
    53. #pragma region Windows Form Designer generated code
    54. /// <summary>
    55. /// Erforderliche Methode für die Designerunterstützung.
    56. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    57. /// </summary>
    58. public:
    59. void InitializeComponent(void)
    60. {
    61. this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
    62. this->dateiToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
    63. this->bearbeitenToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
    64. this->kateiHinzufügenToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
    65. this->label1 = (gcnew System::Windows::Forms::Label());
    66. this->tabPage1 = (gcnew System::Windows::Forms::TabPage());
    67. this->tabControl1 = (gcnew System::Windows::Forms::TabControl());
    68. this->menuStrip1->SuspendLayout();
    69. this->tabControl1->SuspendLayout();
    70. this->SuspendLayout();
    71. //
    72. // menuStrip1
    73. //
    74. this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->dateiToolStripMenuItem,
    75. this->bearbeitenToolStripMenuItem});
    76. this->menuStrip1->Location = System::Drawing::Point(0, 0);
    77. this->menuStrip1->Name = L"menuStrip1";
    78. this->menuStrip1->RenderMode = System::Windows::Forms::ToolStripRenderMode::System;
    79. this->menuStrip1->Size = System::Drawing::Size(989, 24);
    80. this->menuStrip1->TabIndex = 0;
    81. this->menuStrip1->Text = L"menuStrip1";
    82. this->menuStrip1->ItemClicked += gcnew System::Windows::Forms::ToolStripItemClickedEventHandler(this, &Form1::menuStrip1_ItemClicked);
    83. //
    84. // dateiToolStripMenuItem
    85. //
    86. this->dateiToolStripMenuItem->Name = L"dateiToolStripMenuItem";
    87. this->dateiToolStripMenuItem->Size = System::Drawing::Size(44, 20);
    88. this->dateiToolStripMenuItem->Text = L"Datei";
    89. //
    90. // bearbeitenToolStripMenuItem
    91. //
    92. this->bearbeitenToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) {this->kateiHinzufügenToolStripMenuItem});
    93. this->bearbeitenToolStripMenuItem->Name = L"bearbeitenToolStripMenuItem";
    94. this->bearbeitenToolStripMenuItem->Size = System::Drawing::Size(70, 20);
    95. this->bearbeitenToolStripMenuItem->Text = L"Bearbeiten";
    96. //
    97. // kateiHinzufügenToolStripMenuItem
    98. //
    99. this->kateiHinzufügenToolStripMenuItem->Name = L"kateiHinzufügenToolStripMenuItem";
    100. this->kateiHinzufügenToolStripMenuItem->Size = System::Drawing::Size(155, 22);
    101. this->kateiHinzufügenToolStripMenuItem->Text = L"Katei Hinzufügen";
    102. this->kateiHinzufügenToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::kateiHinzufügenToolStripMenuItem_Click);
    103. //
    104. // label1
    105. //
    106. this->label1->AutoSize = true;
    107. this->label1->Location = System::Drawing::Point(276, 89);
    108. this->label1->Name = L"label1";
    109. this->label1->Size = System::Drawing::Size(35, 13);
    110. this->label1->TabIndex = 2;
    111. this->label1->Text = L"label1";
    112. //
    113. // tabControl1
    114. //
    115. this->tabControl1->Location = System::Drawing::Point(2, 211);
    116. this->tabControl1->Name = L"tabControl1";
    117. this->tabControl1->Padding = System::Drawing::Point(7, 3);
    118. this->tabControl1->SelectedIndex = 0;
    119. this->tabControl1->Size = System::Drawing::Size(986, 339);
    120. this->tabControl1->TabIndex = 1;
    121. //
    122. // Form1
    123. //
    124. this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    125. this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    126. this->ClientSize = System::Drawing::Size(989, 553);
    127. this->Controls->Add(this->label1);
    128. this->Controls->Add(this->tabControl1);
    129. this->Controls->Add(this->menuStrip1);
    130. this->MainMenuStrip = this->menuStrip1;
    131. this->Name = L"Form1";
    132. this->Text = L"Training";
    133. this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
    134. this->menuStrip1->ResumeLayout(false);
    135. this->menuStrip1->PerformLayout();
    136. this->tabControl1->ResumeLayout(false);
    137. this->ResumeLayout(false);
    138. this->PerformLayout();
    139. }
    140. #pragma endregion
    141. private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
    142. }
    143. public: System::Void kateiHinzufügenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
    144. Form2 ^frm2 = gcnew Form2();
    145. frm2->ShowDialog(this);
    146. /*this->tabPage1 = (gcnew System::Windows::Forms::TabPage());
    147. this->tabControl1->Controls->Add(this->tabPage1);
    148. this->tabPage1->Text = frm2->str; */
    149. }
    150. private: System::Void menuStrip1_ItemClicked(System::Object^ sender, System::Windows::Forms::ToolStripItemClickedEventArgs^ e) {
    151. }
    152. };
    153. }
    Alles anzeigen




    Form2.h

    Quellcode

    1. #pragma once
    2. #include "Form1.h"
    3. namespace training {
    4. using namespace System;
    5. using namespace System::ComponentModel;
    6. using namespace System::Collections;
    7. using namespace System::Windows::Forms;
    8. using namespace System::Data;
    9. using namespace System::Drawing;
    10. /// <summary>
    11. /// Zusammenfassung für Form2
    12. ///
    13. /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    14. /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    15. /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    16. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    17. /// arbeiten, die diesem Formular zugewiesen sind.
    18. /// </summary>
    19. public ref class Form2 : public System::Windows::Forms::Form
    20. {
    21. public:
    22. Form2(void)
    23. {
    24. InitializeComponent();
    25. //
    26. //TODO: Konstruktorcode hier hinzufügen.
    27. //
    28. }
    29. protected:
    30. /// <summary>
    31. /// Verwendete Ressourcen bereinigen.
    32. /// </summary>
    33. ~Form2()
    34. {
    35. if (components)
    36. {
    37. delete components;
    38. }
    39. }
    40. private: System::Windows::Forms::Label^ label1;
    41. public: System::Windows::Forms::Button^ button2;
    42. private: System::Windows::Forms::Button^ button1;
    43. private: System::Windows::Forms::TextBox^ textBox1;
    44. private:
    45. /// <summary>
    46. /// Erforderliche Designervariable.
    47. /// </summary>
    48. System::ComponentModel::Container ^components;
    49. #pragma region Windows Form Designer generated code
    50. /// <summary>
    51. /// Erforderliche Methode für die Designerunterstützung.
    52. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    53. /// </summary>
    54. void InitializeComponent(void)
    55. {
    56. this->label1 = (gcnew System::Windows::Forms::Label());
    57. this->textBox1 = (gcnew System::Windows::Forms::TextBox());
    58. this->button1 = (gcnew System::Windows::Forms::Button());
    59. this->button2 = (gcnew System::Windows::Forms::Button());
    60. this->SuspendLayout();
    61. //
    62. // label1
    63. //
    64. this->label1->AutoSize = true;
    65. this->label1->Location = System::Drawing::Point(80, 9);
    66. this->label1->Name = L"label1";
    67. this->label1->Size = System::Drawing::Size(225, 13);
    68. this->label1->TabIndex = 0;
    69. this->label1->Text = L"Bitte geben sie einen Namen für die Kartei ein:";
    70. this->label1->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
    71. //
    72. // textBox1
    73. //
    74. this->textBox1->Location = System::Drawing::Point(83, 42);
    75. this->textBox1->Name = L"textBox1";
    76. this->textBox1->Size = System::Drawing::Size(221, 20);
    77. this->textBox1->TabIndex = 1;
    78. //
    79. // button1
    80. //
    81. this->button1->Location = System::Drawing::Point(219, 114);
    82. this->button1->Name = L"button1";
    83. this->button1->Size = System::Drawing::Size(72, 22);
    84. this->button1->TabIndex = 2;
    85. this->button1->Text = L"OK";
    86. this->button1->UseVisualStyleBackColor = true;
    87. this->button1->Click += gcnew System::EventHandler(this, &Form2::button1_Click);
    88. //
    89. // button2
    90. //
    91. this->button2->Location = System::Drawing::Point(311, 114);
    92. this->button2->Name = L"button2";
    93. this->button2->Size = System::Drawing::Size(77, 21);
    94. this->button2->TabIndex = 3;
    95. this->button2->Text = L"Cancel";
    96. this->button2->UseVisualStyleBackColor = true;
    97. this->button2->Click += gcnew System::EventHandler(this, &Form2::button2_Click);
    98. //
    99. // Form2
    100. //
    101. this->AcceptButton = this->button1;
    102. this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    103. this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    104. this->ClientSize = System::Drawing::Size(407, 153);
    105. this->Controls->Add(this->button2);
    106. this->Controls->Add(this->button1);
    107. this->Controls->Add(this->textBox1);
    108. this->Controls->Add(this->label1);
    109. this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
    110. this->Name = L"Form2";
    111. this->Text = L"Kartei Hinzufügen";
    112. this->ResumeLayout(false);
    113. this->PerformLayout();
    114. }
    115. #pragma endregion
    116. public: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
    117. String ^str = this->textBox1->Text;
    118. /* tabPage1 = (gcnew System::Windows::Forms::TabPage());
    119. tabControl1->Controls->Add(tabPage1);
    120. tabPage1->Text = str; */
    121. Close();
    122. }
    123. public: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
    124. Close();
    125. }
    126. };
    127. }
    Alles anzeigen
  • Ich kenn den Präprozessor nicht, aber du hast da einen Zyklus eingebaut, den er u.U. nicht auflösen kann (Form1 benötigt Form2 und Form2 benötigt Form1). Zum Auslesen kannst du glaub ich WM_GETTEXT per SendMessage an das Edit senden.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • Great blog. I immediately huegnr to say with the aim of i like the design of this blog How long does it take to kind it? I like it very much!Your blog were lofty. The content were very attention-grabbing. I maintain really learned another things by your blog situate.Really poverty to say with the aspiration of i like the design of this blog How long does it take to progress to it?