none
ständig dieser nerviger irrelevanter fehler? - C# WindowsForm

    Frage

  • Hallo

    immer wenn ich mein Programm testen will, erscheint der fehler"

    Fehler	CS0029	Der Typ "string" kann nicht implizit in "System.Windows.Forms.DataGridViewTextBoxColumn" konvertiert werden.	WindowsFormsApp6	C:\Users\Pat\Desktop\CD_DB\CD Datenbank.Designer.cs
    

    und er zeigt mir diese zeile an:

    this.Name = "CD_DB";

    wenn ich 1 " // " vor dem Code setze (für notiz - alternativ könnte ich löschen); geht die Anwendung?

    Aber nach einer Weile kommt der Fehlercode wieder und ich wiederhole das ganze mit den " // " - aber das kann doch nicht Sinn der Sache sein?

    was ist das?


    MFG derPat18

    Montag, 22. Januar 2018 17:06

Alle Antworten

  • Hi,

    welchen Datentyp hat denn deine Eigenschaft "Name" in der betreffenden Klasse?

    Ist das immer genau diese eine Zeile? Falls ja, was ändert sich zwischen "es geht" und "es geht nicht"?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 22. Januar 2018 17:13
    Moderator
  • wo kann ich den datentyp der eigenschaft einsehen, ich nehme mal an string? Ist ja ein Name.

    es ändert sich nix zwischen "es geht" und "es geht nix".

    Ausser das bei "es geht nix" der code noch dasteht, und das "es geht" wenn er weg ist :)


    MFG derPat18

    Montag, 22. Januar 2018 17:49
  • wo kann ich den datentyp der eigenschaft einsehen, ich nehme mal an string? Ist ja ein Name.

    Ich kenne C# jetzt nicht, aber man kann doch in der Fehlermeldung schon lesen, was "Name" für ein Datentyp ist: System.Windows.Forms.DataGridViewTextBoxColumn

    Und so wie ich "DataGridViewTextBoxColumn" interpretiere, ist das kein String, sondern eine TextBox in einer Spalte einer Tabelle. Also kein String.

    Den Datentyp kannst du hier nachlesen: https://msdn.microsoft.com/de-de/library/system.windows.forms.datagridviewtextboxcolumn(v=vs.110).aspx

    Darin gibt es eine Eigenschaft "HeaderText", mit der du die String-Zuweisung machen kannst. Ist vielleicht folgendes die Lösung? :

    this.Name.HeaderText = "CD_DB";

    Übrigens: Nur weil eine Variable "Name" heißt, heißt das noch lange nicht, dass sie ein String ist. Du kannst auch einer Variablen jede x-beliebige Bezeichnung geben und einen völlig anderen Datentyp dafür definieren, als was man eigentlich dafür annehmen würde.

    Gruß Guido


    • Bearbeitet Guido Franzke Dienstag, 23. Januar 2018 07:29
    • Als Antwort vorgeschlagen Florian Haupt Dienstag, 23. Januar 2018 07:52
    Dienstag, 23. Januar 2018 07:27
  • eine Lösung nicht, da dieser Code irgendwann wieder gelöscht wird und mein Fehlerhafter Code wieder da steht (also automatisch erzeugt).

    Edit: das passiert nur, wenn ich an der Windows Form gearbeitet habe (z.b. label erstellt etc.)


    MFG derPat18

    Dienstag, 23. Januar 2018 09:29
  • eine Lösung nicht, da dieser Code irgendwann wieder gelöscht wird und mein Fehlerhafter Code wieder da steht (also automatisch erzeugt).

    Edit: das passiert nur, wenn ich an der Windows Form gearbeitet habe (z.b. label erstellt etc.)


    MFG derPat18

    Wenn das automatisch erzeugter Code ist, dann würde VS ja ständig fehlerhaften Code automatisch erzeugen. Kann ich mir ehrlich gesagt kaum vorstellen.
    Ich vermute eher, dass du irgendwo was falsch einträgst, dass so ein Code automatisch erzeugt wird.

    Am besten, du beschreibst einmal, wie du auf den so automatisch erzeugten Code gekommen bist. Also welches Projekt, welche Einstellungen, etc. Dann kann das hier jemand mal nachprüfen.

    Gruß Guido

    Dienstag, 23. Januar 2018 10:20
  • eine Lösung nicht, da dieser Code irgendwann wieder gelöscht wird und mein Fehlerhafter Code wieder da steht (also automatisch erzeugt).

    Edit: das passiert nur, wenn ich an der Windows Form gearbeitet habe (z.b. label erstellt etc.)


    MFG derPat18

    Wenn das automatisch erzeugter Code ist, dann würde VS ja ständig fehlerhaften Code automatisch erzeugen. Kann ich mir ehrlich gesagt kaum vorstellen.
    Ich vermute eher, dass du irgendwo was falsch einträgst, dass so ein Code automatisch erzeugt wird.

    Am besten, du beschreibst einmal, wie du auf den so automatisch erzeugten Code gekommen bist. Also welches Projekt, welche Einstellungen, etc. Dann kann das hier jemand mal nachprüfen.

    Gruß Guido

    mh, ich glaube ich kann das kaum beschreiben, ich bin noch C# Neuling :D

    Ich habe eine einfache WindowsForm mit 3 DataGridViews (+ Datensätzen).


    MFG derPat18

    Dienstag, 23. Januar 2018 11:14
  • mh, ich glaube ich kann das kaum beschreiben, ich bin noch C# Neuling :D

    Ich habe eine einfache WindowsForm mit 3 DataGridViews (+ Datensätzen).

    Ok.

    Aber irgendwo definierst du in einer DataGridView die Bezeichnung "Name". Dann schreibst du irgendwo den String "CD_DB". Hier muss der Fehler liegen, da du die Einträge falsch definierst.
    Also wo machst du das?


    Dienstag, 23. Januar 2018 11:28
  • ich habe den ganzen code durchsucht und echt keine ahnung woher das kommt....

    MFG derPat18

    Montag, 29. Januar 2018 12:30
  • Es handelt  sich um die Datei:
    C:\Users\Pat\Desktop\CD_DB\CD Datenbank.Designer.cs

    Montag, 29. Januar 2018 15:42
  • Und wie ist deren Inhalt?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 29. Januar 2018 15:57
    Moderator
  • So wie Stefan es schon gefragt hat. Wir können dir nur versuchen zu helfen, wenn du uns die Datei zeigst.

    Gruß Guido

    Dienstag, 30. Januar 2018 06:59
  • Hallo,

    hast du den Fehler gefunden? Bitte ändere den Typ deines Post, da du keine allgemeine Diskussion sondern eine Frage gestellt hast. Die Frage kann gelöst werden, dann kann der Post auch geschlossen werden.

    Du zeigst uns in der angeblich automatisch erzeugten Datei "C:\Users\Pat\Desktop\CD_DB\CD Datenbank.Designer.cs" nur die eine Zeile:

    this.Name = "CD_DB";
    Wie die Fehlermeldung beschreibt, ist die Variable "Name" definiert als System.Windows.Forms.DataGridViewTextBoxColumn.
    Wenn du mit der Maus auf "Name" mit der rechten Maustaste klickst, geht ein Popup auf. Dort klickst du auf "Gehe zu Deklaration", dann kommst du in die Deklaration der this-Klasse an die Stelle, wo "Name" deklariert ist. Dort solltest du den Fehler dann sehen. Zeige den Code der Klassen-Deklaration hier, damit wir dir weiterhelfen können.

    Oder hast du den Fehler selbst schon korrigiert? Dann poste kurz, woran es lag, stell den Typ deiner Frage auf "Frage" um, markiere die Antworten, die dir geholfen haben und schließe die Frage.

    Gruß Guido

    Freitag, 9. Februar 2018 07:45
  • Hallo,

    eine Frage schließen bedeutet, dass du (mindestens) eine Antwort als Antwort markierst. Wenn es keine von den gegebenen ist, empfehle ich, selbst eine kurze Antwort zu schreiben und diese dann zu markieren. Damit spätere Benutzer, die das gleiche Problem haben, die Lösung nutzen können.

    Danke,

    Guido


    Freitag, 9. Februar 2018 13:08