如何自动将列表框中的第一行文本添加到文本框中

时间:2014-05-01 22:39:33

标签: c# textbox listbox

我有一个列表框,其中包含一个曲目列表,当按下曲目时它移动到第二个列表框,我现在需要发生的是第二个列表中的第一个项目框自动​​移动到文本框。

这是我第一步的当前代码

private void genreListBox_DoubleClick(object sender, EventArgs e)
{
   playlistListBox.Items.Add(genreListBox.SelectedItem);
}

我认为它应该是这样的

presentlyPlayingTextBox.AppendText(playlistListBox.);

但我不确定如何在不点击的情况下添加第一行。

我试过这个但是我得到了一个错误值。

presentlyPlayingTextBox.Text = playlistListBox.SelectedItem.Value;

2 个答案:

答案 0 :(得分:2)

通常情况下,您会使用' SelectedIndexChanged'或者' SelectedValueChanged'列表框的操作,否则如果使用键盘更改选择,则DoubleClick等事件将失败。

当第一个事件被第一个列表框更改时,应该在第二个列表框中触发该事件。

编辑:

在标准列表框中,没有.SelectedItem.Value,只有.SelectedItem。 但是,由于列表框包含对象,而不仅仅是文本,因此您需要说明需要文本值。

presentlyPlayingTextBox.Text = playlistListBox.SelectedItem.ToString();

答案 1 :(得分:0)

我不知道我是否完全理解您的问题,但如果您只是尝试将第一项从ListBox_2移至文本框,那么以下工作会不会有效?

presentlyPlayingTextBox.Text = playlistListBox.Items[0]?.Value; // C# >= 6
presentlyPLayingTextBox.Text = ((playlistListBox.Items == null) ? playlistListBox.Items[0].Value : "" ); // C# < 6

您还可以创建自己的委托/事件,当用户执行某些操作时会触发该事件。