c treeview 连接mysql_C# treeView与数据库

1 usingSystem;2 usingSystem.IO;3 usingSystem.Windows.Forms;4 usingSystem.Runtime.Serialization.Formatters.Binary;5 6 namespacetestAll7 {8 ///9 ///TreeView串行化类10 ///11 publicclassTreeViewDataAccess12 {13 publicTreeViewDataAccess(){}14 15 ///16 ///TreeViewData17 ///18 [Serializable()]19 publicstructTreeViewData20 {21 publicTreeNodeData[] Nodes;22 23 ///24 ///递归初始化TreeView数据25 ///26 ///27 publicTreeViewData(TreeView treeview)28 {29 Nodes=newTreeNodeData[treeview.Nodes.Count];30 if(treeview.Nodes.Count==0)31 {32 return;33 }34 for(inti=0; i<=treeview.Nodes.Count-1; i++)35 {36 Nodes[i]=newTreeNodeData(treeview.Nodes[i]);37 }38 }39 40 ///41 ///通过TreeViewData弹出TreeView42 ///43 ///44 publicvoidPopulateTree(TreeView treeview)45 {46 if(this.Nodes==null||this.Nodes.Length==0)47 {48 return;49 }50 treeview.BeginUpdate();51 for(inti=0; i<=this.Nodes.Length-1; i++)52 {53 treeview.Nodes.Add(this.Nodes[i].ToTreeNode());54 }55 treeview.EndUpdate();56 }57 }58 59 ///60 ///TreeNodeData61 ///62 [Serializable()]63 publicstructTreeNodeData64 {65 publicstringText;66 publicintImageIndex;67 publicintSelectedImageIndex;68 publicboolChecked;69 publicboolExpanded;70 publicobjectTag;71 publicTreeNodeData[] Nodes;72 73 ///74 ///TreeNode构造函数75 ///76 ///77 publicTreeNodeData(TreeNode node)78 {79 this.Text=node.Text;80 this.ImageIndex=node.ImageIndex;81 this.SelectedImageIndex=node.SelectedImageIndex;82 this.Checked=node.Checked;83 this.Expanded=node.IsExpanded;84 this.Nodes=newTreeNodeData[node.Nodes.Count];85 86 if((!(node.Tag==null))&&node.Tag.GetType().IsSerializable)87 {88 this.Tag=node.Tag;89 }90 else91 {92 this.Tag=null;93 }94 if(node.Nodes.Count==0)95 {96 return;97 }98 for(inti=0; i<=node.Nodes.Count-1; i++)99 {100 Nodes[i]=newTreeNodeData(node.Nodes[i]);101 }102 }103 104 ///105 ///TreeNodeData返回TreeNode106 ///107 ///108 publicTreeNode ToTreeNode()109 {110 TreeNode ToTreeNode=newTreeNode(this.Text,this.ImageIndex,this.SelectedImageIndex);111 ToTreeNode.Checked=this.Checked;112 ToTreeNode.Tag=this.Tag;113 if(this.Expanded)114 {115 ToTreeNode.Expand();116 }117 if(this.Nodes==null&&this.Nodes.Length==0)118 {119 returnnull;120 }121 if(ToTreeNode!=null&&this.Nodes.Length==0)122 {123 returnToTreeNode;124 }125 for(inti=0; i<=this.Nodes.Length-1; i++)126 {127 ToTreeNode.Nodes.Add(this.Nodes[i].ToTreeNode());128 }129 returnToTreeNode;130 }131 }132 ///133 ///加载TreeView134 ///135 ///136 ///137 publicstaticvoidLoadTreeViewData(TreeView treeView,stringpath)138 {139 140 BinaryFormatter ser=newBinaryFormatter();141 Stream file=newFileStream(path,FileMode.Open,FileAccess.Read,FileShare.Read);142 TreeViewData treeData=((TreeViewData)(ser.Deserialize(file)));143 treeData.PopulateTree(treeView);144 file.Close();145 146 }147 148 ///149 ///保存TreeView到文件150 ///151 ///152 ///153 publicstaticvoidSaveTreeViewData(TreeView treeView,stringpath)154 {155 BinaryFormatter ser=newBinaryFormatter();156 Stream file=newFileStream(path,FileMode.Create);157 ser.Serialize(file,newTreeViewData(treeView));158 file.Close();159 160 }161 }162 163 164 }165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值