C# WinForm 三方控件SideBar的用法.拜托了各位 谢谢
有没有哪位同志有三方控件SideBar的用法.方便的话Copy来看下,也可以发邮箱java200613886@vip.qq.com,谢谢!...
有没有哪位同志有三方控件SideBar的用法.方便的话Copy来看下,也可以发邮箱java200613886@ vip.qq.com ,谢谢!
展开
1个回答
展开全部
你想做QQ吧!呵呵: 第一步就是在工具箱里面把这个控件添加进来,工具箱上添加一个选项卡,点击右键,添加项,再选到刚才下载到的DLL文件。 下面介绍一下这个控件的属性 imageList 这个是绑定到ImageList控件上,显示头像时就直接用到ImageList的序号 ItemContextMenuStrip 子项的右键菜单 Viw 显示的样式 sideBar先有组再有成员,所以要在sideBar上添加几个组,添加方法 sideBar.AddGroup(“这个是组的名称”) 有了组后就要在组里面添加成员,添加方法 sideBar1.Groups[i].Items.Add("成员名称",12); 后面这个12就是这个成员绑定的图片的序号(头像,QQ那样前面有个图片头像) 子项上右键显示菜单,像ListView一样,sideBar也有HitTest这个功能,但用起来相差就很大了,如下面那样才能实现: Point p = sideBar1.PointToClient (MousePosition ); if (e.Button == MouseButtons.Right) { if (sideBar1.SeletedItem != null && sideBar1.SeletedItem.HitTest (p.X,p.Y) == true ) { contextMenuStrip1.Show(MousePosition); } } 这样就可以完成sidebar的设置了。 ---------------------------------------------------------------------------用法 SideBar控件应用与MyQQ的相关设计 首先导入一个包using Aptech.UI; 在窗体的加载事件中: private void frmMain_Load(object sender, EventArgs e) { //调用ShowPersonalInfo()方法显示个人头像信息 ShowPersonalInfo(); //在sideBar控件中分三个组 sbFriends.AddGroup("QQ好友"); sbFriends.AddGroup("陌生人"); sbFriends.AddGroup("QQ群"); //调用ShowFriendsList()方法显示好友 ShowFriendsList(); } 当然,要记得在窗体拖入一个ImageList控件,更名为ilFaces(sideBar更名为sbFriends);在sideBar的ImageList属性中选择ilFaces。并且为ilFaces导入一些.ico文件。 //用户自定义一个ShowFriendList()方法 public void ShowFriendsList() { //清空好友组元素 sbFriends.Groups[0].Items.Clear(); try { //创建Connection对象 SqlConnection sqlConn = new SqlConnection("server=.;database=MyQQ;trusted_connection=true"); //创建Command对象 SqlCommand sqlComm = new SqlCommand("select NickName, FaceId, FriendId from Users, Friends where Friends.HostId = " + RecordUserId.loginId +" and Users.Id = Friends.FriendId", sqlConn); sqlConn.Open(); //执行查询命令 SqlDataReader reader = sqlComm.ExecuteReader(); while (reader.Read()) { //实例化SbItem对象,需要一个字符串和一个整形值座位参数 SbItem item = new SbItem((string)reader["NickName"], (int)reader["FaceId"]); //把查询出来的好友帐号赋值给item的Tag标签 item.Tag = (int)reader["FriendId"]; //把item对象添加到好友组中 sbFriends.Groups[0].Items.Add(item); } reader.Close(); //关闭连接 sqlConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 这里很巧妙的使用了item对象的Tag标签。如何获得标签中的数据呢?下面定义一个方法演示灵活应用Tag中保存的数据: //判断是否已显示为好友 private bool HasShowFriend(int friendId) { bool result = false; for (int i = 0; i < 2; i++) { for (int j = 0; j < sbFriends.Groups[i].Items.Count; j++) { if (Convert.ToInt32(sbFriends.Groups[i].Items[j].Tag) == friendId) { result = true; } } } return result; 希望对你有用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询