国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

TreeView 派生類: TreeViewEx 實(shí)現(xiàn) NodeShowToolTip、NodeDo

2024-07-21 02:28:08
字體:
供稿:網(wǎng)友
注冊(cè)會(huì)員,創(chuàng)建你的web開發(fā)資料庫(kù),// [email protected] invent
//一個(gè) treeview 的派生類: treeviewex 實(shí)現(xiàn) nodeshowtooltip、nodedoubleclick 事件
//1.實(shí)現(xiàn)了 nodeshowtooltip 事件,結(jié)合鍵盤 ctrl 鍵顯示及設(shè)置 tooltiptext
//2.實(shí)現(xiàn)了 nodedoubleclick 事件,可在調(diào)用中只響應(yīng)"葉子"節(jié)點(diǎn)
//3.點(diǎn)擊 treeview 空白處不選中任何節(jié)點(diǎn)
//class1.cs
using system;
public class treeviewex : system.windows.forms.treeview
{
    public event treeviewexeventhandler nodedoubleclick;
    public event treeviewexeventhandler nodeshowtooltip;
    private void onnodedoubleclick(system.windows.forms.treenode xx)
    {
        if(this.nodedoubleclick != null)
        {
            this.nodedoubleclick(this,new treeviewexeventargs(xx));
        }
    }
    private void onnodeshowtooltip(system.windows.forms.treenode xx, system.windows.forms.tooltip yy)
    {
        if(this.nodeshowtooltip != null)
        {
            if ((xx != null) && (this.tooltip !=null))
                this.nodeshowtooltip(this,new treeviewexeventargs(xx,this.tooltip));
        }
    }
    protected override void ondoubleclick(system.eventargs e)
    {
        if (this.selectednode != null)
            this.onnodedoubleclick(this.selectednode);
        base.ondoubleclick(e);
    }
    private system.windows.forms.tooltip tooltip;
    public treeviewex()
    {
        tooltip = new system.windows.forms.tooltip();
        this.tooltip.initialdelay = 300;
        this.tooltip.reshowdelay = 0;
    }
    protected override void onclick (system.eventargs e)
    {
        if (this.getnodeat(system.windows.forms.treeview.mouseposition.x,system.windows.forms.treeview.mouseposition.y) == null)
            this.selectednode = null;
        base.onclick(e);
    }
    protected override void onmousedown (system.windows.forms.mouseeventargs e)
    {
        if (this.getnodeat(e.x,e.y) == null)
            this.selectednode = null;
        base.onmousedown(e);

    }
    private system.windows.forms.treenode lasttreenode;
    protected override void onmousemove (system.windows.forms.mouseeventargs e)
    {
        this.cursor = system.windows.forms.cursors.default ;
        system.windows.forms.treenode treenode;
        treenode = this.getnodeat(e.x,e.y) ;
        if(treenode != null)
        {
            if( (system.windows.forms.control.modifierkeys & system.windows.forms.keys.control) != 0)
            {
                this.cursor = system.windows.forms.cursors.hand ;
                if(treenode != lasttreenode | lasttreenode ==null )
                {
                    lasttreenode = treenode;
                    this.tooltip.active = false;
                    this.onnodeshowtooltip(treenode,this.tooltip);
                    this.tooltip.active = true;
                }
            }
            else
            {
                this.cursor = system.windows.forms.cursors.default ;
                this.tooltip.active = false;
            }
        }
        else
        {
            this.cursor = system.windows.forms.cursors.default ;
            this.tooltip.active = false;
        }
        base.onmousemove(e);
    }
}
public delegate void treeviewexeventhandler(object sender,treeviewexeventargs e);
public class treeviewexeventargs : system.eventargs
{
    public treeviewexeventargs(system.windows.forms.treenode selectednode)
    {
        this.m_selectednode = selectednode;
    }
    public treeviewexeventargs(system.windows.forms.treenode node,system.windows.forms.tooltip nodetooltip)
    {
        this.m_nodetooltip = nodetooltip;
        this.m_node = node;
    }
    public treeviewexeventargs(system.windows.forms.treenode node,string tooltiptext)
    {
        this.m_tooltiptext = tooltiptext;
    }
    private string m_tooltiptext;
    private system.windows.forms.tooltip m_nodetooltip;
    private system.windows.forms.treenode m_selectednode;
    private system.windows.forms.treenode m_node;
    public system.windows.forms.treenode selectednode
    {
        get
        {
            return this.m_selectednode;
        }
    }
    public string tooltiptext
    {
        get
        {
            return this.tooltiptext;
        }
        set{m_tooltiptext = value;}
    }
    public system.windows.forms.treenode node
    {
        get
        {
            return this.m_node;
        }
    }
    public system.windows.forms.tooltip nodetooltip
    {
        get
        {
            return this.m_nodetooltip;
        }
    }
}
public class treenodeex : system.windows.forms.treenode
{
    public int getlevel()
    {
        int i = 0;
        system.windows.forms.treenode xx =this.parent;
        while ((xx = xx.parent) != null) i++;
        return i;
    }
}

//=================================================================
//調(diào)用示例
    private treeviewex treeviewex1;
    private void form1_load(object sender, system.eventargs e)
    {
        treeviewex1 = new treeviewex();
        this.controls.add(treeviewex1);
        treeviewex1.hideselection=false;
        treeviewex1.nodedoubleclick +=new treeviewexeventhandler(treeviewex1_nodedoubleclick);
        treeviewex1.nodeshowtooltip += new treeviewexeventhandler(this.treeviewex1_nodeshowtooltip);
        treeviewex1.nodes.addrange(new system.windows.forms.treenode[]{
                                                                          new system.windows.forms.treenode("root",
                                                                          new system.windows.forms.treenode[]
{new system.windows.forms.treenode("a"),new system.windows.forms.treenode("b")}
                                                                          ),
                                                                          new system.windows.forms.treenode("root1",
                                                                          new system.windows.forms.treenode[]
{new system.windows.forms.treenode("a1"),new system.windows.forms.treenode("b1")}
                                                                          )
                                                                      }
            );
    }

    public void treeviewex1_nodeshowtooltip (object sender,treeviewexeventargs e)
    {
        e.nodetooltip.settooltip (this.treeviewex1,"[" + e.node.text + "]{" );
    }

    private void treeviewex1_nodedoubleclick(object sender, treeviewexeventargs e)
    {
        if (e.selectednode.getnodecount(true)==0 )
            system.windows.forms.messagebox.show(e.selectednode.text);
  &nb
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浏阳市| 深圳市| 麻城市| 南宫市| 山东| 临澧县| 深圳市| 七台河市| 健康| 镶黄旗| 彰武县| 平潭县| 翁源县| 砀山县| 丹东市| 锡林浩特市| 哈尔滨市| 刚察县| 清新县| 房山区| 视频| 西城区| 益阳市| 惠水县| 延吉市| 孟村| 霸州市| 大名县| 环江| 四川省| 尼木县| 衡南县| 郴州市| 阿鲁科尔沁旗| 岳阳县| 清涧县| 泾源县| 甘南县| 绍兴市| 弋阳县| 吉安县|