2017-02-09 3 views
-2

Can label1 Text & Eigentum und label2 Text & Eigenschaft eins werden und zeigt sie in label3 und hinzugefügt Text =? denn was ich jetzt benutze ist label1 und label2 setzen nebeneinander.label1 Eigentum beitreten label2 Eigenschaft

enter image description here

Sag mir, wenn ein anderer Ansatz

Ps gibt es: Ich habe die Farbe in einer Datenbank wie red oder blue definieren.

+0

Wenn Sie sagen, kombinieren Eigenschaften .. welche? – Wheels73

Antwort

1

kann Ihr den Textinhalt wie folgt kombinieren:

label3.Text = label1.Text + " = " + label2.Text; 

Aber Sie werden die verschiedenen Farben verlieren. Dies ist leider nicht möglich. Weitere Informationen finden Sie unter this answer

+0

Okay, vielen Dank für die Bestätigung. Ich muss nur wissen, ist es möglich, die 2 Eigenschaft Label in 1 zu verbinden – chopperfield

1

Verwenden Sie string.format, um die beiden Beschriftungen miteinander zu kombinieren.

label3.Text = string.Format("{0}={1}", label1.Text, label2.Text); 
0

warum vote¿ unten

Sie können Ihren eigenen Text Bild Ihre label3 schreiben. wie here

und.

zuerst set label3 AutoSize = false und Größe einstellen.

// Add this lines to InitializeComponent() in yourform.Designer.cs 
    this.label1.TextChanged += new System.EventHandler(this.label_TextChanged); 
    this.label2.TextChanged += new System.EventHandler(this.label_TextChanged); 


    // this is label1 and label2 TextCahanged Event 
    private void label_TextChanged(object sender, EventArgs e) 
    { 
     SetMultiColorText(string.Format("{0} = {1}", label1.Text, label2.Text),label3); 
    } 

// this method set multi color image text for label(paramter lb) 
    public void SetMultiColorText(string Text, Label lb) 
    { 
     lb.Text = ""; 
     // PictureBox needs an image to draw on 
     lb.Image = new Bitmap(lb.Width, lb.Height); 
     using (Graphics g = Graphics.FromImage(lb.Image)) 
     { 


      SolidBrush brush = new SolidBrush(Form.DefaultBackColor); 
      g.FillRectangle(brush, 0, 0, 
       lb.Image.Width, lb.Image.Height); 

      string[] chunks = Text.Split('='); 
      brush = new SolidBrush(Color.Black); 

      // you can get this colors from label1 and label2 colors... or from db.. or an other where you want 
      SolidBrush[] brushes = new SolidBrush[] { 
     new SolidBrush(Color.Black), 
     new SolidBrush(Color.Red) }; 
      float x = 0; 
      for (int i = 0; i < chunks.Length; i++) 
      { 
       // draw text in whatever color 
       g.DrawString(chunks[i], lb.Font, brushes[i], x, 0); 
       // measure text and advance x 
       x += (g.MeasureString(chunks[i], lb.Font)).Width; 
       // draw the comma back in, in black 
       if (i < (chunks.Length - 1)) 
       { 
        g.DrawString("=", lb.Font, brush, x, 0); 
        x += (g.MeasureString(",", lb.Font)).Width; 
       } 
      } 
     } 
    } 
Verwandte Themen