Announcement

Collapse
No announcement yet.

Label funktioniert nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Label funktioniert nicht

    Hallo,
    wenn ich einem Label einen Text zuweise funktioniert dies neuerdings nicht mehr wie erwartet.

    label1.Text = "HalloHalloHallo";

    Zur Laufzeit steht im Form dann aber: "label1 alloHallo"

    Wenn ich mit dem Debugger durchsteppe, ist vor der Zuweisung label1.Text = "label1"
    Das ist die default Belegung -> ok
    Nach der Zuweisung ist label1.Text = "HalloHalloHallo"
    Das ist auch richtig nur Angezeigt wird es falsch.

    Ich nutze seit Jahren "Visual C# 2010 express" aber dieses Problem hatte ich noch nie.

    Woran kann das leigen?

    Gruß Karl
    Zuletzt editiert von Karl Z.; 07.02.2014, 10:47.

  • #2
    Bei dir liegen 2 Labels übereinander?

    Comment


    • #3
      Nein tun sie nicht.
      Es sei denn der Designer erzeug neuerding Labels ohne das diese im Code auftauchen.

      Comment


      • #4
        Öffne doch mal die Document Outline (Ctrl+W,U) da sieht eher ob noch Controls da sind mit denen man nicht rechnet als wenn man sich durch die Designer.cs wühlt oder Controls zur Seite schiebt um zu sehen ob was drunter liegt.
        Wenn es beim Debuggen richtig im Control.Text steht sind gestapelte Labels irgendwie das einzige was denkbar ist. Auch wenn es erstmal merkwürdig klingt wenn da auch label1 drin steht. Passiert aber wenn man die nicht neu erzeugt sondern auf der Form kopiert.


        Es sei denn der Designer erzeug neuerding Labels ohne das diese im Code auftauchen.
        Wenn du GenerateMember auf false setzt werden Controls direkt in die Controls Collection des ParentControls(z.B. eine Form) geschrieben ohne das es für ein Control auch eine Variable gibt. In der Document Outline siehst du aber alle zur Designzeit feststehenden Controls also auch diese.

        Comment


        • #5
          Ist das hier wirklich die Code Zeile mit der Du die Zuweisung machst?
          Originally posted by Karl Z. View Post
          Zuweisung label1.Text = label1
          Für mich heißt das das ich dem label1.Text das Objekt label1 zuweise, was in meinen Augen erstmal keinen Sinn macht, aber ich weiß auch nicht was das Programm machen soll

          Gruß Womble

          Comment


          • #6
            @Ralf
            Auch in der Dokumentgliederung sind nur die 4 Label die ich angelegt habe und die liegen alle schön sichtbar nebeneinander.
            (Das Proroblem haben übrigens alle 4 Labels)
            Ich habe gleichzeitig ein anderes Problem bei dem vielleicht ein zusammenhang besteht.
            Bisher konnte ich zum Debuggen einfach auf Play (F5) drücken und der aktuelle Code wurde ausgeführt.
            Jetzt muß ich immer erst "Neu Erstellen" und dann Play drücken damit der aktuelle Code ausgeführt wir.

            @Womble
            Da hast du mich falsch verstanden.
            label1.Text = label1
            ist nicht die Zuweisung in meinem Code sondern das was der Debugger als Inhalt anzeigt.
            Die Zuweisung ist: label1.Text = "HalloHalloHallo"

            Comment


            • #7
              Was passiert den beim klick auf Play? Sagt er der Code wäre nicht aktuell?

              Comment


              • #8
                Es gibt keine Meldung. Das Programm lauft einfach in der zuletzt erstellten Version.
                Nur wenn ich eine Breakpoint setzte dann wird dieser mit dem Hinweis
                "Der Haltepunkt wird momentan nicht erreicht. Der Quellcode weist unterschiede zu Originalversion auf."
                deaktiviert.

                Comment


                • #9
                  Das er nicht beim starten nicht warnt ist eine reine Frage der Visual Studio Einstellungen würde ich jetzt nicht in Zusammenhang mit deinem ersten Problem bringen.
                  Problem wäre es wenn Source Code und das was du baust nie zusammenpassen. Das könnte passieren wenn du deine Anwendung oder Teile deine Anwendung in den GAC (Global Assembly Cache) gepackt hast. Dann würde immer der Code aus dem GAC ziehen und nie den du gerade gebaut hast.

                  Zu deinem eigentlichen Problem

                  - es ist ein Aktualisierungsproblem der UI. Dann versuch mal durch Minimieren, Maximieren der Form ein Neuzeichnen zu erzwingen.
                  - es ist immer noch ein unentdecktes Label oder anderes Control im Spiel. Das können wir ausschließen in dem du nach dem zuweisen des Textes mal das Label in den Vordergrund bringst, per label1.BringToFront();

                  Comment


                  • #10
                    -Also Minimieren, Maximieren, Verschieben hilft alles nicht.
                    -Auch label1.Refresh(); hilft nicht.
                    -.BringToFront() hilft.

                    -Ich habe auch den Text im Designer geändert und dann steht dort genau das was ich im Designer->Eigenschaften->label1->Text eingegeben habe. es ist also kein anderes Label. Es sieht so aus als wenn es diese (jedes) Label doppelt geben würde. Aber Warum?

                    Comment


                    • #11
                      Wenn möglich poste mal die Designer.cs zur Form da sollten wir sehen ob das Label 2mal zur Form hinzugefügt wird oder ähnliches.

                      Comment


                      • #12
                        Bittesehr
                        Und zwischendurch schon mal danke für die schnelle und kompetente Hilfe.

                        [highlight=c#]
                        partial class Form1
                        {
                        /// <summary>
                        /// Erforderliche Designervariable.
                        /// </summary>
                        private System.ComponentModel.IContainer components = null;

                        /// <summary>
                        /// Verwendete Ressourcen bereinigen.
                        /// </summary>
                        /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
                        protected override void Dispose(bool disposing)
                        {
                        if (disposing && (components != null))
                        {
                        components.Dispose();
                        }
                        base.Dispose(disposing);
                        }

                        #region Vom Windows Form-Designer generierter Code

                        /// <summary>
                        /// Erforderliche Methode für die Designerunterstützung.
                        /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
                        /// </summary>
                        private void InitializeComponent()
                        {
                        System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typ eof(Form1));
                        this.groupBox1 = new System.Windows.Forms.GroupBox();
                        this.comboBox1 = new System.Windows.Forms.ComboBox();
                        this.radioButton2 = new System.Windows.Forms.RadioButton();
                        this.radioButton1 = new System.Windows.Forms.RadioButton();
                        this.buttonDateiOeffnen = new System.Windows.Forms.Button();
                        this.labelDateiName = new System.Windows.Forms.Label();
                        this.labelDateiDatum = new System.Windows.Forms.Label();
                        this.labelSoftwareVersion = new System.Windows.Forms.Label();
                        this.labelChecksumme = new System.Windows.Forms.Label();
                        this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
                        this.pictureBox1 = new System.Windows.Forms.PictureBox();
                        this.groupBox1.SuspendLayout();
                        ((System.ComponentModel.ISupportInitialize)(this.p ictureBox1)).BeginInit();
                        this.SuspendLayout();
                        //
                        // groupBox1
                        //
                        this.groupBox1.Controls.Add(this.comboBox1);
                        this.groupBox1.Controls.Add(this.radioButton2);
                        this.groupBox1.Controls.Add(this.radioButton1);
                        this.groupBox1.Location = new System.Drawing.Point(12, 12);
                        this.groupBox1.Name = "groupBox1";
                        this.groupBox1.Size = new System.Drawing.Size(200, 100);
                        this.groupBox1.TabIndex = 0;
                        this.groupBox1.TabStop = false;
                        this.groupBox1.Text = "Interface";
                        //
                        // comboBox1
                        //
                        this.comboBox1.Enabled = false;
                        this.comboBox1.FormattingEnabled = true;
                        this.comboBox1.Location = new System.Drawing.Point(70, 41);
                        this.comboBox1.Name = "comboBox1";
                        this.comboBox1.Size = new System.Drawing.Size(116, 21);
                        this.comboBox1.TabIndex = 3;
                        //
                        // radioButton2
                        //
                        this.radioButton2.AutoSize = true;
                        this.radioButton2.Location = new System.Drawing.Point(6, 42);
                        this.radioButton2.Name = "radioButton2";
                        this.radioButton2.Size = new System.Drawing.Size(58, 17);
                        this.radioButton2.TabIndex = 2;
                        this.radioButton2.TabStop = true;
                        this.radioButton2.Text = "RS232";
                        this.radioButton2.UseVisualStyleBackColor = true;
                        //
                        // radioButton1
                        //
                        this.radioButton1.AutoSize = true;
                        this.radioButton1.Location = new System.Drawing.Point(6, 19);
                        this.radioButton1.Name = "radioButton1";
                        this.radioButton1.Size = new System.Drawing.Size(65, 17);
                        this.radioButton1.TabIndex = 1;
                        this.radioButton1.TabStop = true;
                        this.radioButton1.Text = "Ethernet";
                        this.radioButton1.UseVisualStyleBackColor = true;
                        //
                        // buttonDateiOeffnen
                        //
                        this.buttonDateiOeffnen.Location = new System.Drawing.Point(12, 119);
                        this.buttonDateiOeffnen.Name = "buttonDateiOeffnen";
                        this.buttonDateiOeffnen.Size = new System.Drawing.Size(200, 50);
                        this.buttonDateiOeffnen.TabIndex = 1;
                        this.buttonDateiOeffnen.Text = "select file";
                        this.buttonDateiOeffnen.UseVisualStyleBackColor = true;
                        this.buttonDateiOeffnen.Click += new System.EventHandler(this.buttonDateiOeffnen_Click) ;
                        //
                        // labelDateiName
                        //
                        this.labelDateiName.AutoSize = true;
                        this.labelDateiName.Location = new System.Drawing.Point(15, 188);
                        this.labelDateiName.Name = "labelDateiName";
                        this.labelDateiName.Size = new System.Drawing.Size(83, 13);
                        this.labelDateiName.TabIndex = 3;
                        this.labelDateiName.Text = "label Dateiname";
                        //
                        // labelDateiDatum
                        //
                        this.labelDateiDatum.AutoSize = true;
                        this.labelDateiDatum.Location = new System.Drawing.Point(15, 211);
                        this.labelDateiDatum.Name = "labelDateiDatum";
                        this.labelDateiDatum.Size = new System.Drawing.Size(86, 13);
                        this.labelDateiDatum.TabIndex = 4;
                        this.labelDateiDatum.Text = "label Dateidatum";
                        //
                        // labelSoftwareVersion
                        //
                        this.labelSoftwareVersion.AutoSize = true;
                        this.labelSoftwareVersion.Location = new System.Drawing.Point(15, 234);
                        this.labelSoftwareVersion.Name = "labelSoftwareVersion";
                        this.labelSoftwareVersion.Size = new System.Drawing.Size(108, 13);
                        this.labelSoftwareVersion.TabIndex = 5;
                        this.labelSoftwareVersion.Text = "label Softwareversion";
                        //
                        // labelChecksumme
                        //
                        this.labelChecksumme.AutoSize = true;
                        this.labelChecksumme.Location = new System.Drawing.Point(15, 257);
                        this.labelChecksumme.Name = "labelChecksumme";
                        this.labelChecksumme.Size = new System.Drawing.Size(96, 13);
                        this.labelChecksumme.TabIndex = 6;
                        this.labelChecksumme.Text = "label Checksumme";
                        //
                        // openFileDialog1
                        //
                        this.openFileDialog1.FileName = "openFileDialog1";
                        //
                        // pictureBox1
                        //
                        this.pictureBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictu reBox1.BackgroundImage")));
                        this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
                        this.pictureBox1.Location = new System.Drawing.Point(290, 12);
                        this.pictureBox1.Name = "pictureBox1";
                        this.pictureBox1.Size = new System.Drawing.Size(182, 157);
                        this.pictureBox1.TabIndex = 8;
                        this.pictureBox1.TabStop = false;
                        //
                        // Form1
                        //
                        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                        this.AutoSize = true;
                        this.ClientSize = new System.Drawing.Size(484, 337);
                        this.Controls.Add(this.pictureBox1);
                        this.Controls.Add(this.labelChecksumme);
                        this.Controls.Add(this.labelSoftwareVersion);
                        this.Controls.Add(this.labelDateiDatum);
                        this.Controls.Add(this.labelDateiName);
                        this.Controls.Add(this.buttonDateiOeffnen);
                        this.Controls.Add(this.groupBox1);
                        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
                        this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this. Icon")));
                        this.Name = "Form1";
                        this.Text = "Hanning & Kahl Bootloader BLOAD_NET Version 1.00";
                        this.groupBox1.ResumeLayout(false);
                        this.groupBox1.PerformLayout();
                        ((System.ComponentModel.ISupportInitialize)(this.p ictureBox1)).EndInit();
                        this.ResumeLayout(false);
                        this.PerformLayout();

                        }

                        #endregion

                        private System.Windows.Forms.GroupBox groupBox1;
                        private System.Windows.Forms.ComboBox comboBox1;
                        private System.Windows.Forms.RadioButton radioButton2;
                        private System.Windows.Forms.RadioButton radioButton1;
                        private System.Windows.Forms.Button buttonDateiOeffnen;
                        private System.Windows.Forms.Label labelDateiName;
                        private System.Windows.Forms.Label labelDateiDatum;
                        private System.Windows.Forms.Label labelSoftwareVersion;
                        private System.Windows.Forms.Label labelChecksumme;
                        private System.Windows.Forms.OpenFileDialog openFileDialog1;
                        private System.Windows.Forms.PictureBox pictureBox1;
                        }
                        [/highlight]

                        Comment


                        • #13
                          Auf der Form gibt es kein label1. Falsche Form oder erzeugst du das Control dynamisch und nicht über den Designer?

                          Comment


                          • #14
                            Das Form ist das richtige.
                            Ich habe den Labels mittlerweile Namen gegeben.
                            Habe nur vergessen dies zu erwähnen. Sorry.
                            Die Labels 1 bis 4 heißen jetzt:
                            labelDateiName; labelDateiDatum; labelSoftwareVersion; labelChecksumme

                            Comment


                            • #15
                              Dann sieht die Datei sauber aus.
                              Rufst du vielleicht InitializeComponent 2mal auf?

                              Comment

                              Working...
                              X