Bueno se me ocurre que podria ser algo como...
primero.
al nodo raiz le asignas en la propiedad Tag el 1 lo que significaria ke es un nodo de primer nivel... (inicializacion del arbol)
(yo he trabajado con arboles pero usando el control de infragistics, y me proporciona el nivel al que pertenece, no se si asi sea para arboles normales de visual studio, pero si no se podria solventar asi, supongo).
al construir el arbol, el nodo lo agregas a otro...claro esta

entonces...tendrias un nodo padre y un nodo hijo...
para lo cual el texto ya lo tienes en el campo de tu consulta... y el tag del nuevo nodo a insertar quedaria como
nodohijo.tag = nodopadre.tag (previa conversion a entero) + 1
y listo...
en la pantalla solo capturas el evento mousedown...
y evaluas el valor de la propiedad tag del nodo que se encuentra en la posicion del raton... y si es tres activas el boton que requieres...
y de esta forma operarias cualquier texto que pueda haber en la BD...