zoukankan      html  css  js  c++  java
  • C# Winform 模拟QQ新闻弹出框

    一开始做的时候,觉得这个太简单了。真心做的时候还是遇到了不少的坑啊。

    1)循环播放新闻内容,建议使用showdialog(),不要用show(),不太好控制前后之间的停顿。

    2)窗口的初始位置为有下角,但是一定记得把窗口的属性starposition 设置成mannul.调试了好久,真是崩溃

    int x = Screen.PrimaryScreen.WorkingArea.Width - this.Width-3;

    int y = Screen.PrimaryScreen.WorkingArea.Height - this.Height-3;

    this.Location = new Point(x, y);//设置窗体在屏幕右下角显示

    3)之前为了客户端偷懒方便,服务端请求的结果直接返回页面地址,然后客户端用webrowse就可以显示新闻内容啦。这是个不错的思路,毕竟FORM上调整样式比较漂亮比较困难,而且升级后台服务要远比升级客户端要来的简单。

    思路: 

    1 主程序main(主窗口)增加timer事件,隔一段时间去请求新闻内容。可以和服务器之间定义一个JASON接口。例如:返回 新增内容,标题等

    2 新建新闻tip窗口, 新建定期关闭事件,显示一端时间后关闭窗口

    3 主窗口的timer事件中,请求到内容后,进行判断,如果有数据,则就调用tip的方法,传人新闻内容 ,显示窗口即可。

    [DllImport("user32")]

    private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

    //下面是可用的常量,根据不同的动画效果声明自己需要的

    private const int AW_HOR_POSITIVE = 0x0001;//自左向右显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

    private const int AW_HOR_NEGATIVE = 0x0002;//自右向左显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

    private const int AW_VER_POSITIVE = 0x0004;//自顶向下显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志

    private const int AW_VER_NEGATIVE = 0x0008;//自下向上显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志该标志

    private const int AW_CENTER = 0x0010;//若使用了AW_HIDE标志,则使窗口向内重叠;否则向外扩展

    private const int AW_HIDE = 0x10000;//隐藏窗口

    private const int AW_ACTIVE = 0x20000;//激活窗口,在使用了AW_HIDE标志后不要使用这个标志

    private const int AW_SLIDE = 0x40000;//使用滑动类型动画效果,默认为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略

    private const int AW_BLEND = 0x80000;//使用淡入淡出效果

    private void timerMoveDown_Tick(object sender, EventArgs e)

    {

    timerMoveDown.Stop();

    AnimateWindow(this.Handle, 1000, AW_BLEND | AW_HIDE);

    this.Close();

    }

    public void refresh()

    {

    //这里显示新闻内容

    AnimateWindow(this.Handle, 2000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);

    timerMoveDown.Start();

    }

    转自:http://www.jianshu.com/p/a6f6ee4c071a

  • 相关阅读:
    ajax专题
    luogu P1346 电车 最短路
    luogu P1462 通往奥格瑞玛的道路 最短路
    luogu P1328 生活大爆炸版石头剪刀布
    luogu P1315 联合权值 枚举
    luogu P1156 垃圾陷阱 背包问题
    luogu P1217 回文质数 枚举
    luogu P3650 滑雪课程设计 枚举
    luogu1209 修理牛棚 贪心
    luogu P1223 排队接水 贪心
  • 原文地址:https://www.cnblogs.com/oracleblogs/p/6292940.html
Copyright © 2011-2022 走看看