【问题标题】:C# access control in usercontrol after changing name更改名称后用户控件中的C#访问控制
【发布时间】:2014-05-05 00:23:24
【问题描述】:

我制作了这个小循环来创建多个用户控件。在这些用户控件中是组合框,我想在按下表单中的按钮时更改它们,但我无法使用我给它们的名称单独访问它们。 这是我用于用户控件的 for 循环:

TournBox MatchBox;
        int i;
        int XCoordinate, YCoordinate;
        XCoordinate = 0;
        YCoordinate = 0;
        Teamcount = ((objDataSet2.Tables["dsTeams"].Rows.Count - 1) / 2);
        for (i = 0; Teamcount + 1 > i; i++)
        {
            MatchBox = new TournBox(objDataSet2.Tables["dsTeams"]);
            MatchBox.Name = "TRound" + i.ToString();
            MatchBox.Location = new Point(10 + XCoordinate , 10 + YCoordinate);
            MatchBox.Visible = true;
            this.pnlWinners.Controls.Add(MatchBox);
            foreach (DataRow dr in objDataSet2.Tables["dsTeams"].Rows)
            {
                MatchBox.CboTeam1.Items.Add(dr["Teamnaam"]);
                MatchBox.CboTeam2.Items.Add(dr["TeamNaam"]);
            }
            YCoordinate = YCoordinate + 63;

        }

我试过这个并将用户控件中的组合框设置为公共。:

private void btnTeamList_Click(object sender, EventArgs e)
    {
        TRound1.CboTeam1.Items.Add("el jefe");
    }

抱歉语法错误,英语不是我的母语。

【问题讨论】:

    标签: c# user-controls


    【解决方案1】:

    您可以从添加它的面板按名称访问它:

    this.pnlWinners.Controls["TRound1"]
    

    【讨论】:

    • 谢谢,但是如何访问用户控件 (TRound1) 内的组合框 (CboTeam) 以添加项目?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多