gpt4 book ai didi

c# - 正确的列表框事件来处理列表框中的更改? (C#)

转载 作者:行者123 更新时间:2023-11-30 15:43:04 27 4
gpt4 key购买 nike

我有一个列表框,里面有一些项目。有两个按钮可以添加和删除列表框项目。关闭表单时,如果对列表框进行了任何更改,我需要一个确认消息框。所以基本上,表单需要知道列表框中的项目是否发生了变化。设置更改标志的正确列表框事件是什么?

注意:当然,我可以通过单击“添加”按钮和“删除”按钮来处理此问题,但这不是正确的方法。不是吗?所以没有肮脏的把戏,但正确的方法??

最佳答案

如果直接使用 ListBox,不,不会有事件告诉您列表已更改。

最好让 ListBox 使用像 BindingList 这样支持 ListChanged 事件的数据源。

private BindingList<string> myList = new BindingList<string>();
private bool isDirty;

public Form1()
{
InitializeComponent();

myList.Add("aaa");
myList.Add("bbb");
myList.Add("ccc");
myList.ListChanged += new ListChangedEventHandler(myList_ListChanged);

listBox1.DataSource = myList;
}

public void myList_ListChanged(object sender, ListChangedEventArgs e)
{
isDirty = true;
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("IsDirty = " + isDirty.ToString());
myList.Add("ddd");
MessageBox.Show("IsDirty = " + isDirty.ToString());
}

关于c# - 正确的列表框事件来处理列表框中的更改? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com