Autor Beitrag
.NETT
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Di 05.08.08 15:18 
Hallo
Ich habe ein Windows-Forms erstellt und es hat ein Checkbox. Soweit sogut. Wenn aktiviert, dann ändert sich der Text, und wenn deaktiviert dann auch. Jetzt wollte ich folgendes machen:
Wenn aktiviert, dann In Taskbar anzeigen, wenn nicht, dann nicht anzeigen. Der bisherige Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                Form1.ShowInTaskbar = true;
            }
            else
            {
                Form1.ShowInTaskbar = false;
            }
        }

Nur das Problem:
Der sagt mir
Fehler 1 Für das nicht statische Feld, die Methode oder die Eigenschaft "System.Windows.Forms.Form.ShowInTaskbar.get" ist ein Objektverweis erforderlich.
Ich bin noch relativer Anfänger in C#, habe bisher nur mit C++ gearbeitet. Könnt ihr mir helfen? Danke schon jetzt
mfg
.NETT
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Di 05.08.08 15:29 
Form1 ist bei dir der Klassenname, und da ShowInTaskbar keine statische Eigenschaft ist sondern immer an einer Instanz von Form1 dranhängt, musst du ShowInTaskbar = true; schreiben.
Lies dir nochmal genau durch was der Unterschied zwischen statischen und nicht-statischen Methoden und Eigenschaften ist. ;)

Deinen Code würde ich übrigens so schreiben:
ausblenden C#-Quelltext
1:
2:
3:
4:
private void checkBox1_CheckedChanged(object sender, EventArgs e)  
{
    ShowInTaskbar = checkBox1.Checked;
}
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Di 05.08.08 15:41 
Jaja, den unterschied zwischen statischen und nicht-statischen weiß ich (glaub ich, im groben) noch:
statische methoden können ohne Objekte geladen werden
nicht-statische müssen immer mit einem objekt geladen werde. Darum ist Main() auch statisch, weil es sonst zu einem Fehler kommen würde.
--
Zum eigentlichen Thema:
Joa, vielen Dank es klappt alles herrlich!
mfg
.NETT