gpt4 book ai didi

c# - 在不调用 SelectedItemChanged 的​​情况下选择 TreeView 项?

转载 作者:行者123 更新时间:2023-11-30 22:49:52 24 4
gpt4 key购买 nike

在我的应用程序中,我有一组 3d 对象,它们通过 TreeView 显示给用户。当用户在 TreeView 中选择一个项目时,将触发 SelectedItemChanged 事件,将相应的 3d 对象设置为选中状态,并在 3d 渲染窗口中突出显示。这很好用。

我遇到的问题恰恰相反。在我的代码的一部分中,我以编程方式在场景中设置了选定的 3d 对象。我想在 TreeView 中反射(reflect)当前选择的对象,所以我遍历这些项目,直到找到相应的项目。但是一旦我找到它,我就找不到一种方法来使项目显示为选中状态而不调用 SelectedItemChanged,这不是我想要的。

有没有办法做到这一点?

谢谢!

最佳答案

我猜你想在你的事件处理程序中抑制代码?如果是这样,一种常见的方法是使用 bool 标志(或有时是 int 计数器):

bool updatingSelected;

void SomeHandler(object sender, EventArgs args) { // or whatever
if(updatingSelected) return;

//...
}

void SomeCode() {
bool oldFlag = updatingSelected;
updatingSelected = true;
try {
// update the selected item
} finally {
updatingSelected = oldFlag;
}
}

关于c# - 在不调用 SelectedItemChanged 的​​情况下选择 TreeView 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894821/

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