gpt4 book ai didi

.net - 如何处理 ComboBox 选定的索引更改?

转载 作者:行者123 更新时间:2023-12-04 06:58:58 24 4
gpt4 key购买 nike

我有一个包含制造商列表的 ComboBox。当用户选择制造商时,下方的网格将填充所选制造商的数据。该数据可以修改。完成所有更改后,用户必须按“保存”按钮。

但是用户可能会忘记按 Save 并从 ComboBox 中选择另一个制造商,并且网格将填充另一个数据,因此之前的更改将丢失。

所以我需要在选择其他制造商之前询问用户是否要保存更改。

我怎样才能做到这一点?或者,也许您提供了另一种解决我的任务的方法(从另一个角度看)?

最佳答案

以下是我们如何将 ComboBox 子类化以引入新的 SelectedIndexChangingEvent 并有可能取消更改:

    public class ComboBoxEx : ComboBox
{
public event CancelEventHandler SelectedIndexChanging;

[Browsable(false)]
public int LastAcceptedSelectedIndex { get; private set; }

public ComboBoxEx()
{
LastAcceptedSelectedIndex = -1;
}

protected void OnSelectedIndexChanging(CancelEventArgs e)
{
var selectedIndexChanging = SelectedIndexChanging;
if (selectedIndexChanging != null)
selectedIndexChanging(this, e);
}


protected override void OnSelectedIndexChanged(EventArgs e)
{
if (LastAcceptedSelectedIndex != SelectedIndex)
{
var cancelEventArgs = new CancelEventArgs();
OnSelectedIndexChanging(cancelEventArgs);

if (!cancelEventArgs.Cancel)
{
LastAcceptedSelectedIndex = SelectedIndex;
base.OnSelectedIndexChanged(e);
}
else
SelectedIndex = LastAcceptedSelectedIndex;
}
}

}

关于.net - 如何处理 ComboBox 选定的索引更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782313/

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