我是刚接触C#的学生,我现在在作类似QQ的一个小东西,
如何实现象QQ聊天窗体中的工具条.表情框的功能啊 
高手门如果没时间写代码,给我个方向也行,不过越清楚越好
我不太懂的......

解决方案 »

  1.   

    跳出窗体很简单,点一个按钮,代码为form xxx=new form();xxx.show();
    xxx是另一个窗体的名称,需要点"项目"->添加Windows窗体.
    你说的移动工具条是什么意思?
      

  2.   

    第一个问题不太明白,
    第二个问题比较容易
    加个imagelist存储好图象,加上以下代码        private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
            {
                Graphics g = e.Graphics;
                Rectangle r = e.Bounds;
                Size imageSize = imageList1.ImageSize;
                Font fn = new Font("Tahoma", 12, FontStyle.Bold);
                if (e.Index >= 0)
                {
                  
                    StringFormat sf = new StringFormat();
                    
                    if (e.State == (DrawItemState.NoAccelerator | DrawItemState.NoFocusRect))
                    {
                        //绘制图像 
                        imageList1.Draw(e.Graphics, r.Left, r.Top, e.Index);
                    }
                    else
                    {imageList1.Draw(e.Graphics,r.Left, r.Top, e.Index);
                    }
                } 
            }
    第三个问题实现起来有点麻烦,我这里有一个现成的实例,要的话可以留下邮箱。我的资源里也有下载的。
      

  3.   

    我教你一招,怎样实现下图所示的按钮功能:就是QQ面板上的QQ好友,通讯录,QQ群,最近联系人按钮的弹上弹下功能:主要是用了控件的Dock的属性:top bottom 代码给你参考下private void button1_Click(object sender, EventArgs e)
            {
                button1.Dock = DockStyle.Top;
                button2.Dock = DockStyle.Bottom;
                button3.Dock = DockStyle.Bottom;
                button3.SendToBack();
                button4.Dock = DockStyle.Bottom;
                button4.SendToBack();        }        private void button2_Click(object sender, EventArgs e)
            {
                button1.BringToFront();
                button1.Dock = DockStyle.Top;
                button2.BringToFront();
                button2.Dock = DockStyle.Top;
                button3.Dock = DockStyle.Bottom;
                button4.Dock = DockStyle.Bottom;
                button4.SendToBack();
            }        private void button3_Click(object sender, EventArgs e)
            {
                button1.BringToFront();
                button1.Dock = DockStyle.Top;
                button2.BringToFront();
                button2.Dock = DockStyle.Top;
                button3.BringToFront();
                button3.Dock = DockStyle.Top;                     
                button4.Dock = DockStyle.Bottom;
            
            }        private void button4_Click(object sender, EventArgs e)
            {
                button1.BringToFront();
                button1.Dock = DockStyle.Top;
                button2.BringToFront();
                button2.Dock = DockStyle.Top;
                button3.BringToFront();
                button3.Dock = DockStyle.Top;
                button4.BringToFront();
                button4.Dock = DockStyle.Top;
               
            }其中SendToBack()方法是把控件发送到Z顺序的后面
    其中BringToFront()方法是把控件发送到Z顺序的前面
    可以自行调整