C#WinForms выделяет древовидный узел, когда древовидное представление не имеет фокуса

Gretings.

Я делаю интерфейс для редактирования сценариев для игры. В основном он состоит из событий, которые имеют вложенные условия и действия. Итак, я планировал использовать два древовидных представления -, одно для выбора события, а другое для выбора условия/действия внутри события для редактирования.

Видите ли, теперь, если я выберу событие (в левом древовидном представлении), а затем попытаюсь выбрать что-то в правом древовидном представлении, в левом древовидном представлении перестанет отображаться синий прямоугольник выбора. Это явно плохо, потому что теперь пользователь не знает, какое событие он редактирует!

Я нашел единственный способ сохранить какую-то информацию о том, что является текущим выбором, — это использовать SelectedImageIndex, но это только одно маленькое изображение, которое будет отличаться.

Есть ли другой способ выделить древовидный узел, когда нет фокуса на древовидном представлении? Я знаю, что могу просто Graphics.DrawRectangle или что-то в этом роде, но я слышал, что рисование должно выполняться в событии Paint, а в дереве нет события рисования... Так что я думаю, если я нарисую его в случае потери фокуса, а затем перетащу форму с экрана что ли, он будет "стерт"?

В любом случае, скажите, пожалуйста, есть ли у вас идеи, (кроме использования отдельных значков для выбранных и не выбранных узлов дерева)

Спасибо!

28
задан Neuron 15 November 2017 в 17:36
поделиться