3

Visual Studio で Windows アプリケーションを作成しようとしています。

public Form1()、いくつかの項目を ComboBox に追加SelectComboBox.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 に答える