WinFuture-Forum.de: Borland 2005 C# Bilder - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Borland 2005 C# Bilder Neues Fenster in einem Programm einbinden


#1 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

  geschrieben 15. Juni 2006 - 15:01

Hallo.

Ich habe da ein Problem mit dem Borland C# Builder 2005 Pe.
Habe ein neues Programm erstellt als Windows Anwendung (Windows Forms). Dort einiges Programmiert was unwesentlich ist für mein Problem. Daraufhin wollte ich ein neues Form erstellen welches ich mit einem Klick auf einen Button aktivieren wollte. Leider finde ich keinen Befehl dafür. Hab es schon mit application.run (new Form1()); versucht doch dann kommt beim klicken auf den Button eine Fehlermeldung.

Angehängtes Bild: Unbenannt.JPG

Vielen Dank für eure schnelle Hilfe

Vazili

Dieser Beitrag wurde von vazili bearbeitet: 15. Juni 2006 - 15:02

0

Anzeige



#2 Mitglied ist offline   Trivalik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 40
  • Beigetreten: 15. Mai 03
  • Reputation: 0

geschrieben 15. Juni 2006 - 15:39

Hier das könnte dir helfen auch wenn ich Delphi etwas unlesbar finde.

http://forum.dsdt.in...c.php?p=178409

In der Hilfe steht doch das du ShowDialog bzw. RunDialog verwenden sollst.


Also könnte es sein

Formularname.Show

oder
Formularname.ShowDialog

oder
Formularname.RunDialog

Jedoch wenn du vielleicht erst die variable Form erstellst und testest ob das geht und dann auf die Form das oben genannte anwendest.

So aber wenn das net hilft musst du uns wenigstens den Quellcode zeigen.

Dieser Beitrag wurde von Trivalik bearbeitet: 15. Juni 2006 - 15:40

0

#3 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

geschrieben 15. Juni 2006 - 16:27

Hi!

Das ist kein Delphi. Da die Sprache ja mit der letzten Version am aussterben ist wollte ich nicht Delphi lernen sonder C++. Hab einfach nur ein Projekt aufgemacht und dort einen Button kreiert. Anschließend auf Datei neu Windwos Form geklickt so das ein neuer Reiter in meinem Projekt erschien. Nun wollte ich, das das neue Fenster aufgeht wenn ich auf den Button klicke doch immer wenn ich auf den Button klicke kommt die Fehlermendlung.




Hier der Source Code.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Projekt14
{
/// <summary>
/// Zusammenfassende Beschreibung für WinForm.
/// </summary>
public class WinForm : System.Windows.Forms.Form
{
/// <summary>
/// Erforderliche Designer-Variable.
/// </summary>
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button button1;

public WinForm()
{
//
// Erforderlich für die Unterstützung des Windows-Form-Designer
//
InitializeComponent();

//
// TODO: Konstruktorcode nach dem Aufruf von InitializeComponent hinzufügen
//
}

/// <summary>
/// Ressourcen nach der Verwendung bereinigen
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}

#region Vom Windows Form-Designer erzeugter Code
/// <summary>
/// Erforderliche Methode zur Unterstützung des Designers -
/// ändern Sie die Methode nicht mit dem Quelltext-Editor
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(64, 72);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(128, 72);
this.button1.TabIndex = 0;
this.button1.Text = "Klick mich!";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// WinForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.Add(this.button1);
this.Name = "WinForm";
this.Text = "WinForm";
this.ResumeLayout(false);
}
#endregion

/// <summary>
/// Der Haupteintrittspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new WinForm());
}

private void button1_Click(object sender, System.EventArgs e)
{
Application.Run(new WinForm1()); //Die einzigste Zeile die ich eingegeben habe!!!
}
}
}



Vazili
0

#4 Mitglied ist offline   Trivalik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 40
  • Beigetreten: 15. Mai 03
  • Reputation: 0

geschrieben 15. Juni 2006 - 21:38

Naja gut dachte das es mehr Delphi ist auch wen c# im programm stand.
		private void button1_Click(object sender, EventArgs e)
		{
			WinForm dialog=new WinForm();
			dialog.ShowDialog();
		}


So hat es bei mir funktioniert.

Da das Application.Run() sozusagen im aktuellen Thread die Form öffnet. Und so wie oben diese wahrscheinlich wieder ein neuer Thread ist.

Dieser Beitrag wurde von Trivalik bearbeitet: 15. Juni 2006 - 21:38

0

#5 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 16. Juni 2006 - 07:47

Hättest du dir die Fehlermeldung genau durchgelesen, wärst du selbst draufgekommen.

Zitat

...Verwenden Sie stattdessen Application.RunDialog oder Form.ShowDialog.

Und das ist genau das, was Trivalik oben gemacht hat...
0

#6 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

geschrieben 16. Juni 2006 - 12:29

Vielen Dank für eure Hilfe! Das klappt so wie ich mir das gedacht habe.


Kann mir aber bitte noch einer erklären, was der Befehl macht?
WinForm gibt das Fenster an das ist mir klar.

dialog keine Ahnung

new ist neu auch soweit klar
WinForm() ist die Anweisung das ist mir auch klar

doch dann wieder dialog keine Ahnung
und ShowDialog() auch keine Ahnung.


Danke schon mal im Voraus.

Witi ich hab bis jetzt immer nur Kommandozeile programmiert und von Fenstern absolut keine Ahnung.
Darum konnte ich mit der Fehlermeldung nix anfangen.
*Fg*
0

#7 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 16. Juni 2006 - 12:35

- WinForm ist eine Unterklasse der Klasse Form und repräsentiert dein Fenster.
- dialog ist der Name der Variable (vom Typ WinForm)
- mit new WinForm() wird ein neues Objekt instanziiert (Konstruktor der Klasse WinForm wird aufgerufen)
- ShowDialog ist eine Methode der Klasse WinForm, die du hier aufrufst. Alles schön in der API dokumentiert.

Nicht falsch verstehen, das sind aber die Grundlagen der (objekt-orientierten) Programmierung. Und die kannst du nicht. Erst wenn du die verstanden hast, würde ich mich an "Fenster" ranwagen.

Also...erstmal schön zurück an die Konsole und büffeln :imao:
0

#8 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

geschrieben 16. Juni 2006 - 13:00

Das zurück an die konsole und büffeln bringt nix, das hat auch das buch jetzt lern ich c++ nicht geschafft leider.


vielleicht kannst Du mir das näherbringen. java script:emoticon(':imao:', 'smid_5')
:P
0

#9 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 16. Juni 2006 - 13:15

uff, dann lass es lieber bleiben.
0

#10 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 16. Juni 2006 - 13:47

Natürlich bringt das was. So hat jeder angefangen. Wenn du jedoch keinen Bock darauf hast, hat MagicAndre1981 einen sehr guten Rat für dich...

Ansonsten ohne lesen und büffeln wirst du nicht weiterkommen. Daher, wie schon oft empfohlen: http://www.galileoco...openbook/csharp
0

#11 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

geschrieben 16. Juni 2006 - 14:33

Lesen ist ja kein Problem nur ich hab das nicht verstanden. (Jetzt lern ich c++) Daher möchte ich nur etwas haben damit ich das verstehen kann. Einen kleinen überblick halt.


Weil lesen und nicht raffen bringt es halt nicht.
0

#12 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 16. Juni 2006 - 19:26

Beitrag anzeigenZitat (vazili: 16.06.2006, 15:33)

Lesen ist ja kein Problem nur ich hab das nicht verstanden. (Jetzt lern ich c++)


Das Buch ist eigentlich sehr gut, imho eins der besten C++ Bücher und viele Dinge sind in allen Programmiersprachen gleich und wenn du das nicht kapierst, dann ist Programmieren nichts für dich.
0

#13 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

  geschrieben 16. Juni 2006 - 21:09

Ich hab ja auch von dem Objekt orientierten gereden und nicht von dem restlichen buch das ist ganz ok.

Muss glaub ich noch lernen mich besser auszudrücken. *Fg*
0

#14 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 16. Juni 2006 - 22:27

C# ist durchgehen OOP, da kommst du nicht darum zu verstehen was Klassen, Objekte, Interfaces etc sind.
0

#15 Mitglied ist offline   vazili 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 15. Juni 06
  • Reputation: 0

geschrieben 16. Juni 2006 - 22:36

Dann gib mir doch nen gescheites beispiel damit ich das verstehe!!!!


:imao:
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0