2017-02-09 2 views
-2

Может label1 текст & собственности и label2 текст & свойство стать одним и отобразить его в label3 и добавлен текст =? потому что теперь я использую label1 и label2, ставя бок о бок.label1 недвижимость присоединиться LABEL2 свойству

enter image description here

Сообщите мне, если есть другой подход

Ps: Я определить цвет в базе данных, как red или blue.

+0

когда вы говорите, что свойства комьюнити .. какие? – Wheels73

ответ

1

Вы можете объединить содержание текста, как это:

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

Но вы потеряете разные цвета. К сожалению, это невозможно. Для получения дополнительной информации проверьте this answer

+0

хорошо, спасибо за подтверждение. мне просто нужно знать, возможно ли присоединение метки свойства 2 к 1 – chopperfield

1

Используйте string.format, чтобы объединить два текста ярлыков.

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

почему вниз vote¿

Вы можете написать свой собственный текст изображения ваш LABEL3. подобный here

и.

первый раз установленная табличка3 AutoSize = false и установлен размер.

// 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; 
       } 
      } 
     } 
    }