문제

사용자가 컨텐츠를 추가 한 ListBox가있는 C# 앱 (winform)을 작성하고 있습니다. 이제 ListBox 아래에 일반 버튼이있을 수 있지만 항목을 제거 할 수 있지만 콘텐츠 바로 옆에 버튼이있어 ListBox 내부에 있습니다.

이와 같이:

  • 내용 1 | 엑스
  • 내용 2 | 엑스
  • ...
  • 내용 5 | 엑스

문제는 .NET에서의 경험이 부족하여 모든 자동화 된 컨트롤이 진행되는 경우 이것이 어떻게 가능한지에 대한 단서가 없다는 것입니다. 나는 그것을 googed했지만 의미있는 결과는 없었습니다.

이를 달성하기위한 힌트, 단서 또는 스 니펫은 환영합니다! :)

도움이 되었습니까?

해결책 2

따라서 사용자 지정 제어를 할 수는 있지만 내 앱의 경우 실제로 문제가되지 않습니다.

내가 한 일은 Datagrid를 만들고 ListView와 비슷하지만 고유 한 플레어와 비슷하게 만들었습니다. Datagrid에는 이미 셀에 버튼 콘트롤이 내장되어 있기 때문에이 작업을 수행했습니다.

예, 나는 어리석은 "해킹"의 일종이지만, 그것은 매력처럼 작동합니다! :)

Shay Erlichmen에게 소품을 보냈습니다. 내가 거기서 뭘했는지 보시겠습니까? ;)

다른 팁

ListBox 대신 ListView를 사용할 수 있으며 ListView는 다음과 같습니다. 사용자 정의 열 유형을 추가하는 기능.

시스템 사용; System.collections.generic 사용; System.windows.forms 사용;

네임 스페이스 windows formsapplication11 {공개 부분 클래스 form1 : form {list _items = new list ();

    public Form1()
    {
        InitializeComponent();

        _items.Add("One");
        _items.Add("Two");
        _items.Add("Three");

        listBox1.DataSource = _items;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // The Add button was clicked.
        _items.Add("New item " + DateTime.Now.Second);

        // Change the DataSource.
        listBox1.DataSource = null;
        listBox1.DataSource = _items;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        // The Remove button was clicked.
        int selectedIndex = listBox1.SelectedIndex;

        try
        {
            // Remove the item in the List.
            _items.RemoveAt(selectedIndex);
        }
        catch
        {
        }

        listBox1.DataSource = null;
        listBox1.DataSource = _items;
    }
}

}

private void button1_click (Object Sender, Eventargs e) {// 추가 버튼이 클릭되었습니다. // ...

button2.Enabled = true;

}

private void button2_click (Object Sender, Eventargs e) {// 제거 버튼이 클릭되었습니다. // ....

if (listBox1.Items.Count == 0)
{
    button2.Enabled = false;
}

}

Winforms 앱이라고 가정합니다

이를 위해 맞춤 제어가 필요합니다. 나는 공급 업체를 좋아하는 것을 확인할 것입니다 http://www.devexpress.com/products/net/controls/winforms/editors/editors/listboxes.xml 어쩌면 누군가가 구체적으로 그렇게하는 통제에 대해 알고있을 것입니다.

왜 그렇게 구체적으로하고 싶은지 모르겠어? 맨 아래에 버튼을 넣어 ListBox에서 선택한 항목을 삭제합니다. jQuery를 사용하지 않고 항목이 데이터베이스에 저장된 경우 항목을 삭제하거나 페이지의 목록에서 항목을 제거하는 경우 항목을 삭제하는 통화를 보내는 OnClick 이벤트를 작성하지 않는 한 일반적인 방법으로 간주됩니다. .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top