Search code examples
formsc++-cli

I get a C2228 error while trying to create a color to change the background of a Windows::Form


Here's my code.

void Form1::dessin(int choice){
    switch(choice){
    case 0:
        Form1::BackColor = System::Drawing::SystemColors::ActiveBorder;
        break;
    case 1:
        Color MyColor = Color.FromArgb(255, 0, 0);
        Form1::BackColor = MyColor;
        break;
    case 5:
        this->Ofck->Text = "textbruh";
        break;
    }
}

I receive 4 errors for this simple code :

Error   3   error C2228: left of '.FromArgb' must have class/struct/union   c:\Users\gabas\documents\visual studio 2010\Projects\Iwannatrain\Iwannatrain\Iwannatrain.cpp    27  1   Iwannatrain
Error   2   error C2275: 'System::Drawing::Color' : illegal use of this type as an expression   c:\Users\gabas\documents\visual studio 2010\Projects\Iwannatrain\Iwannatrain\Iwannatrain.cpp    27  1   Iwannatrain
Error   4   error C2360: initialization of 'MyColor' is skipped by 'case' label c:\Users\gabas\documents\visual studio 2010\Projects\Iwannatrain\Iwannatrain\Iwannatrain.cpp    30  1   Iwannatrain
Warning 1   warning C4832: token '.' is illegal after UDT 'System::Drawing::Color'  c:\Users\gabas\documents\visual studio 2010\Projects\Iwannatrain\Iwannatrain\Iwannatrain.cpp    27  1   Iwannatrain

I know this might be a novice issue, but I really can't wrap my head around this error.


Solution

  • I ended up finding what the error was (although I don't have the proper explanation).

    The code here...

    Color MyColor = Color.FromArgb(255, 0, 0);
    

    should be written like this...

    Color MyColor = Color::FromArgb(255, 0, 0);