程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#編程實現QQ界面的方法

C#編程實現QQ界面的方法

編輯:關於C語言

本文實例講述了C#編程實現QQ界面的方法。分享給大家供大家參考,具體如下:

步驟:

1.新建一個頁面,假如說叫VerticalMenu

2.把html代碼copy到Html代碼區

3.把LoadTopMenu方法copy到cs代碼區

4.運行即可

1.Html代碼

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 <STYLE type="text/CSS"> A:link {}{ COLOR: #000000; FONT-SIZE: 12px; TEXT-DECORATION: none} A:visited {}{ COLOR: #000000; FONT-SIZE: 12px; TEXT-DECORATION: none} A:hover {}{ COLOR: #006CD9; FONT-SIZE: 12px; TEXT-DECORATION: none} BODY {}{ FONT-SIZE: 12px;} TD {}{ FONT-SIZE: 12px; line-height: 150%} </STYLE> <script language="JavaScript"> <!-- function showitem(id,name) { //打開彈出式頁面 //return ("<span><a href='"+id+"' target=_blank>"+name+"</a></span><br>") //在框架中打開 return ("<span><a href='#' onclick=/"url('"+id+"');/">"+name+"</a></span><br>") } function url(id) { var source = document.getElementById('fMain'); source.src=id; } function switchoutlookBar(number) { var i = outlookbar.opentitle; outlookbar.opentitle=number; var id1,id2,id1b,id2b if (number!=i && outlooksmoothstat==0){ if (number!=-1) { if (i==-1){ id2="blankdiv"; id2b="blankdiv"; } else{ id2="outlookdiv"+i; id2b="outlookdivin"+i; document.all("outlooktitle"+i).style.border="1px none navy"; document.all("outlooktitle"+i).style.background=outlookbar.maincolor; document.all("outlooktitle"+i).style.color="#ffffff"; document.all("outlooktitle"+i).style.textalign="center"; } id1="outlookdiv"+number id1b="outlookdivin"+number document.all("outlooktitle"+number).style.border="1px none white"; document.all("outlooktitle"+number).style.background=outlookbar.maincolor; //title document.all("outlooktitle"+number).style.color="#ffffff"; document.all("outlooktitle"+number).style.textalign="center"; smoothout(id1,id2,id1b,id2b,0); } else { document.all("blankdiv").style.display=""; document.all("blankdiv").sryle.height="100%"; document.all("outlookdiv"+i).style.display="none"; document.all("outlookdiv"+i).style.height="0%"; document.all("outlooktitle"+i).style.border="1px none navy"; document.all("outlooktitle"+i).style.background=outlookbar.maincolor; document.all("outlooktitle"+i).style.color="#ffffff"; document.all("outlooktitle"+i).style.textalign="center"; } } } function smoothout(id1,id2,id1b,id2b,stat) { if(stat==0){ tempinnertext1=document.all(id1b).innerHtml; tempinnertext2=document.all(id2b).innerHtml; document.all(id1b).innerHtml=""; document.all(id2b).innerHtml=""; outlooksmoothstat=1; document.all(id1b).style.overflow="hidden"; document.all(id2b).style.overflow="hidden"; document.all(id1).style.height="0%"; document.all(id1).style.display=""; setTimeout("smoothout('"+id1+"','"+id2+"','"+id1b+"','"+id2b+"',"+outlookbar.inc+")",outlookbar.timedalay); } else { stat+=outlookbar.inc; if (stat>100) stat=100; document.all(id1).style.height=stat+"%"; document.all(id2).style.height=(100-stat)+"%"; if (stat<100) setTimeout("smoothout('"+id1+"','"+id2+"','"+id1b+"','"+id2b+"',"+stat+")",outlookbar.timedalay); else { document.all(id1b).innerHtml=tempinnertext1; document.all(id2b).innerHtml=tempinnertext2; outlooksmoothstat=0; document.all(id1b).style.overflow="auto"; document.all(id2).style.display="none"; } } } function getOutLine() { outline="<table "+outlookbar.otherclass+">"; for (i=0;i<(outlookbar.titlelist.length);i++) { outline+="<tr><td name=outlooktitle"+i+" id=outlooktitle"+i+" "; if (i!=outlookbar.opentitle) outline+=" nowrap align=center style='cursor:hand;background-color:"+outlookbar.maincolor+";color:#ffffff;height:20;border:1 none navy' "; else outline+=" nowrap align=center style='cursor:hand;background-color:"+outlookbar.maincolor+";color:white;height:20;border:1 none white' "; outline+=outlookbar.titlelist[i].otherclass outline+=" onclick='switchoutlookBar("+i+")'><span class=smallFont>"; outline+=outlookbar.titlelist[i].title+"</span></td></tr>"; outline+="<tr><td name=outlookdiv"+i+" valign=top align=center id=outlookdiv"+i+" style='width:100%" if (i!=outlookbar.opentitle) outline+=";display:none;height:0%;"; else outline+=";display:;height:100%;"; outline+="'><div name=outlookdivin"+i+" id=outlookdivin"+i+" style='overflow:auto;width:100%;height:100%'>"; for (j=0;j<outlookbar.itemlist[i].length;j++) outline+=showitem(outlookbar.itemlist[i][j].key,outlookbar.itemlist[i][j].title); outline+="</div></td></tr>" } outline+="</table>" return outline } function show() { var outline; outline="<div id=outLookBarDiv name=outLookBarDiv style='width=100%;height:100%'>" outline+=outlookbar.getOutLine(); outline+="</div>" document.write(outline); } function theitem(intitle,instate,inkey) { this.state=instate; this.otherclass=" nowrap "; this.key=inkey; this.title=intitle; } function addtitle(intitle) { outlookbar.itemlist[outlookbar.titlelist.length]=new Array(); outlookbar.titlelist[outlookbar.titlelist.length]=new theitem(intitle,1,0); return(outlookbar.titlelist.length-1); } function additem(intitle,parentid,inkey) { if (parentid>=0 && parentid<=outlookbar.titlelist.length) { outlookbar.itemlist[parentid][outlookbar.itemlist[parentid].length]=new theitem(intitle,2,inkey); outlookbar.itemlist[parentid][outlookbar.itemlist[parentid].length-1].otherclass=" nowrap align=left style='height:5' "; return(outlookbar.itemlist[parentid].length-1); } else additem=-1; } function outlook() { this.titlelist=new Array(); this.itemlist=new Array(); this.divstyle="style='height:100%;width:100%;overflow:auto' align=center";//可以在這裡設置對齊方式 this.otherclass="border=0 cellspacing='0' cellpadding='0' style='height:100%;width:100%'valign=middle align=center "; this.addtitle=addtitle; this.additem=additem; this.starttitle=-1; this.show=show; this.getOutLine=getOutLine; this.opentitle=this.starttitle; this.reflesh=outreflesh; this.timedelay=50; this.inc=10; this.maincolor = "#336699" } function outreflesh() { document.all("outLookBarDiv").innerHtml=outlookbar.getOutLine(); } function locatefold(foldname) { if (foldname=="") foldname = outlookbar.titlelist[0].title for (var i=0;i<outlookbar.titlelist.length;i++) { if(foldname==outlookbar.titlelist[i].title) { outlookbar.starttitle=i; outlookbar.opentitle=i; } } } var outlookbar=new outlook(); var tempinnertext1,tempinnertext2,outlooksmoothstat outlooksmoothstat = 0; <%=LoadVerticalMenu()%>//從數據庫產生垂直菜單 //--> </script> <table id="mnuList" style="WIDTH:150px;HEIGHT: 100%" cellspacing="0" cellpadding="0" align="left" border="0"> <tr> <td bgcolor="#F0F0E5" id="outLookBarShow" style="HEIGHT: 100%" valign="top" align="middle" name="outLookBarShow"> <script language="JavaScript"> <!-- locatefold("") outlookbar.show() //--> </script> </td> </tr> </table>

2.cs代碼

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 public class VerticalMenu : System.Web.UI.Page { protected DataRow[] father; protected DataRow[] first; private void Page_Load(object sender, System.EventArgs e) { // 模擬QQ菜單 } public static string ConnectionString=System.Configuration .ConfigurationSettings .APPSettings["ConnectionString"]; GetDataSet#region GetDataSet public static DataSet GetDataSet(string sql) { SqlDataAdapter sda =new SqlDataAdapter(sql,ConnectionString); DataSet ds=new DataSet(); sda.Fill(ds); return ds; } #endregion protected string LoadVerticalMenu() { string sqlFather="select * from PowerSetting"; DataSet dsFather=GetDataSet(sqlFather); father=dsFather.Tables[0].Select("IsBoot=0","IsBoot"); string menu=""; foreach(DataRow drfather in father) { menu+="var t;"; menu+="t=outlookbar.addtitle('"+drfather["Description"]+"');"; first=dsFather.Tables[0].Select("ParentID='"+Convert.ToInt32(drfather["ParentID"])+"' and IsBoot=1","IsBoot"); foreach(DataRow drfirst in first) { menu+="outlookbar.additem('"+drfirst["Description"]+"',t,'"+drfirst["Url"]+"');"; } } return menu; } Web Form Designer generated code#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.Net Web Form Designer. // InitializeComponent(); base.OnInit(e); } /**//**//**//// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion }

3.數據庫腳本

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PowerSetting]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[PowerSetting] GO CREATE TABLE [dbo].[PowerSetting] ( [PowerSettingID] [int] IDENTITY (1, 1) NOT NULL , --id [ParentID] [int] NOT NULL , --父節點id [Description] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , --菜單描述內容 [Icon] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , --要顯示圖標 [Url] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , --url [Target] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , --_self,_blank等 [CreateByID] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , --創建人id [CreateON] [datetime] NULL , --創建日期 [IsEnabled] [bit] NULL , --是否可用 [IsBoot] [int] NULL --是不是根節點;1是其他不是 ) ON [PRIMARY] GO
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved