简单qq表情浏览器开发记事<下>

之前开了一个头,现在把结尾补上简单qq表情浏览器开发记事 <上>

再发一次功能:

简单qq表情浏览器

功能:简单浏览一个文件夹下面的图片,图片可以拖拽

实现透明窗体,分页,图片位置变换等功能


大家时间宝贵,挑几个重点说,前辈们看完提要就看其它博文去吧,呵呵…

新学的童鞋可以下载过去,工程里面包过vs2008(Backup中)与10的

本文提要:

  1. 透明窗体的实现
  2. 点击窗体任何可见位置移动窗体
  3. 三角函数圆形排版
  4. PictureBox图片的拖拽图片的实现
  5. 简单的图片分页

<内容>:

<透明窗体的实现>

新建一个窗体,

设置FormBorderStyle属性为None,

设置BackColor为颜色X,然后设置TransparencyKey为X颜色,X即为透明色,

这里的X最好设置平时少见的颜色,我设置了Olive,一种橄榄色,

你可以运行窗口了,好吧,你发现你的窗口看不见了…

</透明窗体的实现>

<点击窗体任何可见位置移动窗体>

思路:

点击然后窗体可见位置,记录鼠标在窗体上的X,Y=BeginX,BeginY

设置mousedown = true;

如果mousedown 为真,那么窗体的Left,Top随鼠标的左右上下移动增减,代码:

/// <summary>
/// 鼠标移动时发生,使隐形的窗体一起移动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pictureBoxAllowDrop1_MouseMove(object sender, MouseEventArgs e)
{
    if (this.mousedown)
    {
        this.Left += e.X - this.BeginX;
        this.Top += e.Y - this.BeginY;
    }
}
/// <summary>
/// 松开鼠标,设置为不可移动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pictureBoxAllowDrop1_MouseUp(object sender, MouseEventArgs e)
{
    this.mousedown = false; 
}

</点击窗体任何可见位置移动窗体>

<三角函数圆形排版>

使用Math.Cos,Math.Sin三角函数求出圆形轨迹上等弧长所在点的相对与窗体的x,y的值,将图片放在点上达到圆形环绕放置图片,截图中为12等分的圆

 

/// <summary>
/// 设置排列圆形
/// </summary>
/// <param name="r">半径</param>
/// <param name="count">图片的个数</param>
private void findPoint(double r, int count)
{
    double x0 = pictureBoxAllowDrop1.Left + pictureBoxAllowDrop1.Width / 2;
    double y0 = pictureBoxAllowDrop1.Top + pictureBoxAllowDrop1.Height / 2;
    double angle;
    for (int i = 0; i < count; i++)
    {
        angle = i*360 / count;
        point[i].X = (int)(x0 + r * Math.Cos(angle * Math.PI / 180));
        point[i].Y = (int)(y0 + r * Math.Sin(angle * Math.PI / 180));
        label1.Text += point[i].ToString() + "\t\n";
    }

}

截图

</三角函数圆形排版>

<PictureBox图片的拖拽图片的实现>

参考简单qq表情浏览器开发记事 <上>与源代码,不过代码有很多的不足,权作参考,不能当真

</PictureBox图片的拖拽图片的实现>

<简单的图片分页>

突然不知道分页该写什么,呵呵,这里注意一下项目中只设置了没个显示6个,大家运行源代码的时候不要误解什么,我想应该也不会

</简单的图片分页 >

</内容>

SeeSeeView 看看表情浏览器(当初想这名字好久,呵呵)

/Files/SongSharp/SSView_cs1.rar 

收尾:

工作了快一年,匆匆忙忙,才觉得时间宝贵,这个项目是大二的作业,怀念大学里坐在空旷安静的工作室里面悠闲地写着代码,那是真正没有杂念的代码,只是因为喜欢,只是因为出于好玩,继续慢慢找回那种感觉吧,以前不喜欢Web,心里抵触,感觉那不是软件,那只是浏览器的对话,呵呵…现在,学着慢慢喜欢Web,发现也挺有意思的。把一串标记传给对方浏览器显示与运行,万法归宗,殊途同归,其实编程,想达到目的就是最好的表现。啰嗦了…

posted @ 2011-06-14 23:06  SongSharp  阅读(1888)  评论(4编辑  收藏  举报