繁体   English   中英

Windows应用程序C#字符串组合框

[英]Windows Application C# strings combobox

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

public Form1() ,我使用SelectComboBox.Items.Insert(0, "Text");向我的ComboBox添加一些项目SelectComboBox.Items.Insert(0, "Text"); 并创建一个字符串ex。 string NR0 = "__"; 用一首特别的歌。

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

我曾尝试在select按钮的代码中创建一个字符串。 string ComboNow = "NR" + SelectComboBox.Items.Count.ToString(); 然后使用Player.URL = @ComboNow;更改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;
        }
    }
}

您可以使用List或Array:

private List<string> songs = new List<string>();
//...
SelectComboBox.Items.Insert(0, "First song");
songs.Add("URL to song");
//...
Player.URL = songs[SelectComboBox.SelectedIndex];

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

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];

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM