1

私は C# と GUI プログラミングに不慣れなので、これは単純なものだと感じていますが、DisplayMember のドキュメントは私を混乱させています。

List<string[]> serverInfo = new List<string[]>();
serverInfo.Add(new string[] { "server one", "1.2.3.4", "12345" });
serverInfo.Add(new string[] { "server two", "1.2.3.4", "12346" });
serverInfo.Add(new string[] { "server three", "1.2.3.5", "12343" });

ComboBox serverPickList = new ComboBox();
serverPickList.DataSource = serverInfo;
serverPickList.DisplayMember = "???";

ComboBox のオプションは「サーバー 1」、「サーバー 2」、および「サーバー 3」である必要がありますが、string[] 配列を処理するのでバインドしたままにします。

4

2 に答える 2

3
serverPickList.DataSource = serverInfo.Select(x => new { ColA = x[0], ColB =x[1], ColC=x[2] }).ToList();
serverPickList.DisplayMember = "ColA";
于 2012-05-27T05:10:26.703 に答える
1

なぜそれでクラスを作らないのですか?

class ServerInfo
{
    public string Name { get; set; }
    public string OtherStuff { get; set; }
    public string OtherStuff2 { get; set; }

    public ServerInfo(string name, string otherStuff, string otherStuff2)
    {
        this.Name = name;
        this.OtherStuff = otherStuff;
        this.OtherStuff2 = otherStuff2;
    }
}

その後:

List<ServerInfo> serverInfo = new List<ServerInfo>();
serverInfo.Add(new ServerInfo("server one", "1.2.3.4", "12345"));
serverInfo.Add(new ServerInfo("server two", "1.2.3.4", "12346"));
serverInfo.Add(new ServerInfo("server three", "1.2.3.5", "12343"));

ComboBox serverPickList = new ComboBox();
serverPickList.DataSource = serverInfo;
serverPickList.DisplayMemeber = "Name";
于 2012-05-27T05:07:00.657 に答える