C# Problem mit MessageBox.Show

Abcd12345

Lt. Junior Grade
Registriert
März 2006
Beiträge
483
Hi,

Ich habe follgenden Code aus einem Lehrbuch abgetippt bekomme aber Probleme mit dieser Übrladeung der Funktion Show:

Code:
using System;
using System.Collections.Generic;
using System.Text;



namespace Project1
{
    class Class1
    {
        public static void Main()
        {
            System.Windows.Forms.MessageBox.Show("hello world", "MessageBox Hello World",MessageBoxButtons.OKCancel);
        }

    }
}

Error 1 The name 'MessageBoxButtons' does not exist in the current context C:\Documents and Settings\jytf\Local Settings\Application Data\Temporary Projects\Project1\Class1.cs 13 91 Project1


Wenn ich die Überladung mit nur den ersten 2 Parametern benutze geht alles fehlerfrei. Nur die Emuration die man als 3te Parameterangabe angeben soll wird leider nicht erkannt :(

Gruß Abcd
 
Schreib oben noch dazu
Code:
using System.Windows.Forms;

du hast bei der MessageBox an sich die komplette Angabe inklusive Namespace usw. diese fehlt bei MessageBoxButtons
2. möglichkeit wäre
Code:
System.Windows.Forms.MessageBox.Show("hello world", "MessageBox Hello World",System.Windows.Forms.MessageBoxButtons.OKCancel);
anstatt dem using zu schreiben.
 
Zuletzt bearbeitet:
Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;


namespace Project1
{
    class Class1
    {
        public static void Main()
        {
       
          Form myForm = new Form();
          myForm.Text = "My own Form";
          Application.Run(myForm);
          myForm.Text = "Propertys";
          //myForm.BackColor = Color.BlanchedAlmond;
          myForm.Width *= 2;
          myForm.Height /= 2;
          myForm.FormBorderStyle = FormBorderStyle.FixedSingle;
          myForm.MaximizeBox = false;
          myForm.Cursor = Cursors.Hand;
          myForm.StartPosition = FormStartPosition.CenterScreen;

          Application.Run(myForm);


        }

    }
}

Okey Danke, das mit der MessageBox hat sich erledigt :) Habe nun noch Probleme hiermit.

Es geht zwar bis auf den auskommentierten Teil allerdings verändert sich das Fenster nicht..

Es wird nicht zentriert, lässt sich weiter hin vergrößern und verkleinern und hat auch immer die selbe größe beim Start egal was ich bei myForm.Width *= 2;
myForm.Height /= 2; angebe..
 
Zuletzt bearbeitet:
Hallo , bitte arbeite das durch Openbook. Dann bekommst auch eine einfuehrung. ;)

Bzw. ist das in deinem Lehrbuch nicht erklaert?

Nun, erst die Properties setzen und dann Starten ;)
Bzw, du machst eine redraw nachdem du die properties gesetzt hast.

EDIT:
Abcd12345 schrieb:
Okey Danke, das mit der MessageBox hat sich erledigt :)

Sagst uns noch was es war, falls wer anderer mal ne aehnliche frage hat und die SUFU benutzt ;)
(Ich nehme an dir haben references gefehlt, welche?)
 
Zuletzt bearbeitet:
kreadon schrieb:
Sagst uns noch was es war, falls wer anderer mal ne aehnliche frage hat und die SUFU benutzt ;)
(Ich nehme an dir haben references gefehlt, welche?)

Code:
using System.Windows.Forms;


Kommentier mal das erste "Application.Run(myForm);" aus und probiers nochmal
 
Zuletzt bearbeitet:
ichhalt123 schrieb:
Code:
using System.Windows.Forms;

stimmt, haette ich auch sehen koennen.

@TE: In VS wird was fehlerhaft ist rot unterstrichen, wenn du dann mit der Maus draufgehst (Contextmenue oeffnen), bietet dir VS (Ich glaub schon/erst ab Version 2005) an, Resolve.. und dann fuegt er dir das using dazu.
 
Okey Danke für die Hilfe.

Nochmal zur MessageBox: Es war einfach, dass Problem das ich den Forms Namesraum nicht eingebunden hatte und "MessageBoxButtons.OKCancel" nur im Forms Namensraum bekannt ist :).

Zum zweiten Problem: Vieleicht mag es ab und zu den anschein haben aber so unerfahren bin ich auch nicht was C# betrifft, z.b weiß ich das sich das Programm in der Funktion Application.Run(); in einer Endlosschleiße befindet und deswegen die andern Anweisungen nicht mehr ausgeführt wurden, ich habe das erste Application.Run(); einfach übesehen. War wohl gestern zu müde..

Zur Codevervollständigung: Die spinnt sowieso bei mir :( benutze Visual C# Express edition 2008

Naja jetzt läuft es wunderbar :)

Gruß Abcd
 
Zurück
Oben