如何将Label.Text添加到List<>并将labels.text更改为事件后的列表索引

时间:2014-11-01 11:36:57

标签: c# list events label forum

我有什么:

此应用程序将标签放在richtextbox中,标签文本为=到最后一个按钮,并在论坛上单击/选中单选按钮。

List<string> placed_transpose_btn = new List<string>();

    // Create Label at mouse click location with clicked chord's text.
    private void SongSheet_Click(object sender, EventArgs e)
    {
            Point mouse = PointToClient(MousePosition);
            SongSheet.SendToBack();
            placed_transpose_btn.Add(Current_Cord_Lbl1 + Current_Cord_Lbl2);
            this.Controls.Add(new Label
            {

                Location = new Point(mouse.X - 15, mouse.Y - 5),
                AutoSize = true,
                Text = Current_Cord_Lbl1 + Current_Cord_Lbl2,
                BackColor = System.Drawing.Color.White,
                ForeColor = System.Drawing.Color.Red,

            });

           // This is just to see the content of the list
            SongSheet.Text = Convert.ToString(placed_transpose_btn);

      }

输出:

System.Collections.Generic.List&#39; 1 [System.String]

(哦,标签只出现在最后点击的位置每次第2次点击......为什么会这样?)

我需要什么:

  • 每个标签都应添加到placed_transpose_btn列表中。
  • 列表内容应根据按钮按下事件的标签控件进行更新(未尝试此操作,因为我需要第一位才能首先使用:D
  • 可能会有更多问题:s

1 个答案:

答案 0 :(得分:0)

有人发布了答案,但又将其删除了。

他/她说

SongSheet.Text = Convert.ToString(placed_transpose_btn);

尝试转换整个字符串。 我应该改用

SongSheet.Text = string.Join(Environment.NewLine, placed_transpose_btn);

那说这意味着我一直在将标签添加到列表中,我只是没有正确访问它。