Windows Forms,Verknüpfung mit Mainfunktion



  • Ich bin mir nicht sicher ob das Thema hier reinpasst, "C++ mit Windows Forms". Bin ich nun hier richtig?

    Meine Frage:

    Ich habe diesen Sourcecode geschrieben/teils vorkompilieren lassen:

    // WindowsForm.cpp: Hauptprojektdatei.
    
    #include "stdafx.h"
    #include "Form1.h"
    
    using namespace WindowsForm;
    
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    	// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false); 
    
    	// Hauptfenster erstellen und ausführen
    	Application::Run(gcnew Form1());
    	return 0;
    }
    
    #pragma once
    
    namespace WindowsForm {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    
    	/// <summary>
    	/// Zusammenfassung für Form1
    	///
    	/// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    	///          die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    	///          das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    	///          Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    	///          arbeiten, die diesem Formular zugewiesen sind.
    	/// </summary>
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Konstruktorcode hier hinzufügen.
    			//
    		}
    
    	protected:
    		/// <summary>
    		/// Verwendete Ressourcen bereinigen.
    		/// </summary>
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    	private: System::Windows::Forms::Button^  button1;
    	protected: 
    	private: System::Windows::Forms::RichTextBox^  richTextBox1;
    	private: System::Windows::Forms::TextBox^  textBox1;
    
    	private:
    		/// <summary>
    		/// Erforderliche Designervariable.
    		/// </summary>
    		System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Erforderliche Methode für die Designerunterstützung.
    		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->button1 = (gcnew System::Windows::Forms::Button());
    			this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
    			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
    			this->SuspendLayout();
    			// 
    			// button1
    			// 
    			this->button1->Location = System::Drawing::Point(12, 209);
    			this->button1->Name = L"button1";
    			this->button1->Size = System::Drawing::Size(75, 23);
    			this->button1->TabIndex = 0;
    			this->button1->Text = L"button1";
    			this->button1->UseVisualStyleBackColor = true;
    			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
    			// 
    			// richTextBox1
    			// 
    			this->richTextBox1->Location = System::Drawing::Point(12, 31);
    			this->richTextBox1->Name = L"richTextBox1";
    			this->richTextBox1->Size = System::Drawing::Size(260, 96);
    			this->richTextBox1->TabIndex = 1;
    			this->richTextBox1->Text = L"";
    			this->richTextBox1->TextChanged += gcnew System::EventHandler(this, &Form1::richTextBox1_TextChanged);
    			// 
    			// textBox1
    			// 
    			this->textBox1->Location = System::Drawing::Point(12, 157);
    			this->textBox1->Name = L"textBox1";
    			this->textBox1->Size = System::Drawing::Size(260, 20);
    			this->textBox1->TabIndex = 2;
    			this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged);
    			// 
    			// Form1
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(284, 244);
    			this->Controls->Add(this->textBox1);
    			this->Controls->Add(this->richTextBox1);
    			this->Controls->Add(this->button1);
    			this->Name = L"Form1";
    			this->Text = L"Form1";
    			this->ResumeLayout(false);
    			this->PerformLayout();
    
    		}
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    				richTextBox1->Text = "";
    
    				String ^ chaine;
    				chaine = textBox1->Text;
    
    				if(chaine != ""){
    					richTextBox1->AppendText(chaine);
    				}
    			 }
    	private: System::Void richTextBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
    				 			 }
    	private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
    			 }
    	};
    }
    

    Klappt wunderbar, ich gebe was in das Textfeld ein und drücke danach auf den Button, Reaktion ist das er mir es in die Richbox den Text aus dem Textfeld schreibt.

    Nun möchte ich was anderes probieren. Ich möchte einen Wert in der Mainfunktion ermitteln. Es wird also ein String in der Textbox eingegeben, danach wird dieser String auf größe getestet (z.b Stellengröße max 10). Wenn weniger als 10 Stellen, schreibt er mir wenn ich auf den button klick den String in die Richbox.

    Das sollte nur ein Beispiel einer Aufgabe sein, mir geht es im allgemeinen darum wie ich einen in der Mainfunktion ermittelten Wert in die Richbox kriege.
    Und wie ich einen eingegebenen Wert aus der Textbox in der Mainfunktion verwenden kann.

    Wie macht man das? 😕



  • Kann keiner helfen?



  • Hiermit guckst du ob die String^ Länge kleiner gleich 10 ist.

    if(textBox1->Text->Length <= 10)
    {
    
    ////ereignis
    
    }
    

    Aber was für eine Mainfunktion meinst du? Und was möchtest du in die richTextBox reinbekommen?


Anmelden zum Antworten