Frage von Zipfelbruder, 28

Hallo, weiß jemand wie ich mit Microsoft Visual C++ 2010 Express (Windows Forms-Anwendung) die IntelliSense aktivieren kann bzw. geht das überhaupt?

Ich möchte nämlich einen .show() Befehl einfügen (Ich arbeite nach einem Video Tuturial). In diesem Video hat er die IntelliSense aktiv, jedenfalls erscheinen Code Vorschläge. Bei mir ist jetzt das problem das wenn ich den Befehl aus dem Video abschreibe kommt bei mir eine Fehlermeldung: "error C2228: Links von ".show" muss sich eine Klasse/Struktur/Union befinden."

Ich vermute das es daran liegt das der im Video den Code nicht abgeschrieben hat sondern getippt und dann den vorgeschlagenen Code angeklickt hat.

Antwort
von ceevee, 20

IntelliSense ist einfach nur die Autovervollständigung. Die schmeißt eigentlich keine Fehlermeldungen. Dein Problem ist eher, dass Credits (aus irgendwelchen Gründen) nicht richtig erkannt bzw. gefunden wird.

Kommentar von Zipfelbruder ,

Muss ich das irgendwie anders schreiben ? Vllt das das Programm erkennt das es eine Form ist? 

Kommentar von ceevee ,

Kann gut sein. Dazu müsste man ein bisschen mehr vom Code sehen, oder verlink doch mal das Tutorial hier. 

Kommentar von Zipfelbruder ,

Hier einmal der bisherige code:

(Habe erst ein Hauptmenü meines Spiels erstellt und nur Buttons eingefügt die noch keine Funktion haben, bis auf den Spiel beenden Button der die Anwendung schließt. Daher hab ich den kompletten code der anderen Buttons nicht mit rein genommen.)

#pragma once

namespace WorldWar {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

///
/// Zusammenfassung für Form1
///
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Konstruktorcode hier hinzufügen.
//
}

protected:
///
/// Verwendete Ressourcen bereinigen.
///
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ SpielBeenden;
private: System::Windows::Forms::Button^ Credits;
private: System::Windows::Forms::Button^ Spielstarten;
private: System::Windows::Forms::Button^ Spielladen;
private: System::Windows::Forms::Button^ Optionen;
private: System::Windows::Forms::Button^ Hilfe;

protected:

private:
///
/// Erforderliche Designervariable.
///
System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
///
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
///
void InitializeComponent(void)
{
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
this->SpielBeenden = (gcnew System::Windows::Forms::Button());
this->Credits = (gcnew System::Windows::Forms::Button());
this->Spielstarten = (gcnew System::Windows::Forms::Button());
this->Spielladen = (gcnew System::Windows::Forms::Button());
this->Optionen = (gcnew System::Windows::Forms::Button());
this->Hilfe = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();

//
// Credits
//
this->Credits->BackColor = System::Drawing::Color::Transparent;
this->Credits->BackgroundImageLayout = System::Windows::Forms::ImageLayout::None;
this->Credits->Location = System::Drawing::Point(422, 343);
this->Credits->Name = L"Credits";
this->Credits->Size = System::Drawing::Size(200, 50);
this->Credits->TabIndex = 5;
this->Credits->Text = L"Credits";
this->Credits->UseVisualStyleBackColor = false;
this->Credits->Click += gcnew System::EventHandler(this, &Form1::Credits_Click);

#pragma endregion

private: System::Void Credits_Click(System::Object^ sender, System::EventArgs^ e)
{
Credits.show();
this->hide();
}

};
}

Kommentar von ceevee ,

Vielleicht this->Credits.show()

Ganz sicher bin ich da aber auch nicht, ich hab ewig nicht mehr mit Windows Forms gearbeitet... vielleicht hat jemand anders noch 'ne bessere Idee.

Kommentar von Zipfelbruder ,

Versucht und jetzt geht die Anwedung problemlos aber wenn ich dann auf Credits klicke kommt eine Fehlermeldung das ich die Form auf Visible einstellen muss. Find den Reiter aber nicht in dem Eigenschaften einstellungen komisch..

Antwort
von Zipfelbruder, 22

mein geschriebener code:

private: System::Void Credits_Click(System::Object^ sender, System::EventArgs^ e)
{
Credits.show();
this->hide();
}

Des Credits ist eine Form die angezeigt werden soll während die davorige verschwindet also praktisch ein Knopf auf den man Klickt und dann kommt man zu einem anderen Fenster wo die Credits stehen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten