我有一个列表框,其中包含一个曲目列表,当按下曲目时它移动到第二个列表框,我现在需要发生的是第二个列表中的第一个项目框自动移动到文本框。
这是我第一步的当前代码
private void genreListBox_DoubleClick(object sender, EventArgs e)
{
playlistListBox.Items.Add(genreListBox.SelectedItem);
}
我认为它应该是这样的
presentlyPlayingTextBox.AppendText(playlistListBox.);
但我不确定如何在不点击的情况下添加第一行。
我试过这个但是我得到了一个错误值。
presentlyPlayingTextBox.Text = playlistListBox.SelectedItem.Value;
答案 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
您还可以创建自己的委托/事件,当用户执行某些操作时会触发该事件。