C#中SideBar的使用方法
我假期留的项目作业时做MyQQ,里面用到了SideBar控件,可是我一点都不会!想请大家帮下忙,有没有相关的文章和教程之类的,谢谢大家了!很急的!...
我假期留的项目作业时做MyQQ,里面用到了SideBar控件,可是我一点都不会!想请大家帮下忙,有没有相关的文章和教程之类的,谢谢大家了!很急的!
展开
4个回答
展开全部
呵呵 先佩服下一楼的
第一步就是在工具箱里面把这个控件添加进来,工具箱上添加一个选项卡,点击右键,添加项,再选到刚才下载到的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;
希望对你有用
第一步就是在工具箱里面把这个控件添加进来,工具箱上添加一个选项卡,点击右键,添加项,再选到刚才下载到的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;
希望对你有用
展开全部
北大青鸟的吧?
这个控件不是VS里原有的控件,是别人做好了,需要添加进工具箱里的。你仔细看“项目实战”。里面有说明怎么使用的。注意,要有耐心,错过一些地方你就可能不知道怎么用了。
这个控件不是VS里原有的控件,是别人做好了,需要添加进工具箱里的。你仔细看“项目实战”。里面有说明怎么使用的。注意,要有耐心,错过一些地方你就可能不知道怎么用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
网上应该就有教程吧。是北大青鸟的MyQQ,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
... 百度这东西 搜索啊 然后看帮助文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询