Hi,
I would suggest that you can try to use the HoverMenu extension of the ASP.Net Ajax Control Toolkit, when you hover the treenode, then pop the a image,
Below is a sample code, about how to use the HoverMenu extension on the treenode,
<%@ Page Language="C#" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
int myIndex = 0;
protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
{
e.Node.Text = "<div id='myDiv" + myIndex.ToString() + "' onmouseover='showHoverMenu(\"myDiv" + (myIndex++).ToString() + "\")' onmouseout='hideHoverMenu()'>" + e.Node.Text + "</div>";
}
</script>.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
var activeDivID="";
function pageLoad(){
$find("myHMEBID").add_shown(onHoverMenuShown);
}
function onHoverMenuShown(){
var activeDivLocation = $common.getLocation($get(activeDivID));
$common.setLocation($find("myHMEBID").get_popupElement(),new Sys.UI.Point(activeDivLocation.x + $get(activeDivID).offsetWidth,activeDivLocation.y));
}
function showHoverMenu(divID){
activeDivID = divID;
$find("myHMEBID")._onUnhover();
$find("myHMEBID")._onHover();
if(activeDivID =="myDiv7")
{
$get("<%=Image1.ClientID %>").style.visibility = "visible";
$get("<%=Image2.ClientID %>").style.visibility = "hidden";
}
else
{
$get("<%=Image1.ClientID %>").style.visibility = "hidden";
$get("<%=Image2.ClientID %>").style.visibility = "visible";
}
}
function hideHoverMenu(divID){
$get("<%=Panel1.ClientID %>").style.display= "none";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:TreeView ID="TreeView1" runat="server" ShowLines="True" DataSourceID="SiteMapDataSource1" OnTreeNodeDataBound="TreeView1_TreeNodeDataBound">
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px" style="display:none">
<asp:Image ID="Image1" runat=server ImageUrl="~/Image/button-search.gif" />
<asp:Image ID="Image2" runat=server ImageUrl="~/Image/bg-searchhh.gif" />
</asp:Panel>
<cc1:HoverMenuExtender ID="HoverMenuExtender1" BehaviorID="myHMEBID" runat="server" PopupControlID="Panel1" TargetControlID="Button1">
</cc1:HoverMenuExtender>
<div style="display:none" >
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
</div>
</form>
</body>
</html>
Hope it helps.