List 항목 추가 질문입니다.

c# 초보 개발자 입니다.

하나의 ListA를 만들었는데

ListA 안에 1번부터 9번의 항목을 추가하려고 합니다.

각 번호 마다 12개의 textbox 값들이 있고,

ListA[0] 안에 1번 항목의 12개의 textbox 값이 들어가고

ListA[1] 안에 2번 항목의 12개의 textbox 값이 들어가고
.
.
.
ListA[8] 안에 9번 항목의 12개의 textbox 값이 들어가게 하고 싶습니다.

혹시 도움 주실 분 계신가요…ㅠㅠ

1개의 좋아요

그냥은 안도와 드리고 시도한 코드 공유 주시면 도와 드릴께요 :slight_smile:

3개의 좋아요

image

제가 지금 작성하고 있는 부분입니다…!

2개의 좋아요

.NET이 아닌 .NET Framework을 사용하시면 컴파일이 안될 수 있습니다. 그러시면 구조만 참조하시길 바랄께요.

List가 12개의 TextBox를 담고 있는 TextBoxGroup를 소유하는 식입니다. 저는 12개의 TextBox를 생성해서 추가해줬는데, 그것은 환경에 따라 적절히 처리하시면 될 듯 하고요, 가령, 디자인 화면에서 이미 존재하는 TextBox라면 그 인스턴스 명을 news() 대신 넣어주면 됩니다.

※ 아래 코드에서 사용하는 TextBox 클래스는 모형 클래스로 예시를 위해 사용되었습니다.

var groupList = new List<TextBoxGroup>
{
    // 0
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 1
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 2
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 3
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 4
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 5
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 6
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 7
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
    // 8
    new() {
        TextBoxes = new TextBox[]
        {
            new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new(), new()
        }
    },
};

var number = 0;
foreach (var group in groupList)
{
    foreach (var textbox in group.TextBoxes)
        Console.WriteLine($"{number}: {textbox}");

    number++;
}


class TextBoxGroup
{
    public TextBox[] TextBoxes { get; init; } = default!;

    public TextBoxGroup()
    {
    }
}

/// <summary>
/// TextBox가 있다고 가정
/// </summary>
class TextBox
{
    public string Uuid { get; } = Guid.NewGuid().ToString();

    public override string ToString() => $"TextBox({Uuid})";
}

TextBox 인스턴스가 규칙이 있다면 for문으로 삽입하셔도 됩니다.

7개의 좋아요