3

我正在尝试在 Visual Studio 中制作一个 Windows 应用程序。

在 中public Form1(),我将一些项目添加到我的 ComboBoxSelectComboBox.Items.Insert(0, "Text");并创建一个字符串 ex。string NR0 = "__";用一首特别的歌曲。

当我在 ComboBox 中选择了一个项目并单击一个选择时,我希望 Windows Media Player 播放顶部字符串(例如 NR0)中的特定歌曲。

我曾尝试在代码中为选择按钮创建一个字符串。string ComboNow = "NR" + SelectComboBox.Items.Count.ToString();然后用 . 更改 URL Player.URL = @ComboNow;

但随后玩家认为 URL 是字符串的名称(例如 NR0)。

你有什么想法来解决这个问题。

谢谢


代码如下:

namespace Player
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            SelectComboBox.Items.Insert(0, "First song");
            string NR0 = "URL to song";

            SelectComboBox.Items.Insert(1, "Second song");
            string NR1 = "URL to song";
        }

        private void SelectButton_Click(object sender, EventArgs e, string[] value)
        {
            string ComboNow = "NR" + SelectComboBox.Items.Count.ToString();
            Player.URL = @ComboNow;
        }
    }
}
4

2 回答 2

1

您可以使用列表或数组:

private List<string> songs = new List<string>();
//...
SelectComboBox.Items.Insert(0, "First song");
songs.Add("URL to song");
//...
Player.URL = songs[SelectComboBox.SelectedIndex];
于 2012-11-14T14:50:53.940 回答
0

由于您明确地将这些项目放入某些位置,因此我会执行创建字典之类的操作:

private Dictionary<int, string> Songs
{
    get
    {
        return new Dictionary<int, string>()
            {
                { 0, "url of first song" },
                { 1, "url of second song" }
            };
    }
}

然后,您可以像这样获取 URL:

string playerURL = Songs[comboBox1.SelectedIndex];

请注意,这只会起作用,因为您是以特定顺序将项目放入组合框中,如果这不是您将来想要的,这将不适合您。

于 2012-11-14T14:50:19.557 回答