.net学习札记---随机数,颜色控制,UpdatePanel

练习:
我要利用asp.net2.0 ajax实现这么一个东西:
1.无刷新的情况下,页面每间隔一秒钟显示当前时间;
2.每间隔半秒钟,将一个panel的背景颜色随机变换一次;

Okay,一个简单的sample,思路如下:
既然每间隔固定的时间需要进行一次操作,我联想到使用updatepanel,然后利用timer控件来控制时间
由于两个需求的不同时间间隔,我需要两个timer,如果放到一个updatepanel,肯定会出现异常,所以我建立了两个updatepanel
在两个中分别添加一个timer和lebel,在其中一个中添加了一个panel,并在timer中添加如下代码

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        Label1.Text  = DateTime.Now .ToString ();
    }
    protected void Timer2_Tick(object sender, EventArgs e)
    {
        //j,k,m为随机颜色基数的接口
        int j   = 100;
        int k  = 209;
        int m = 201;
        //label用来显示j,k,m的数值
        Label2.Text ="j:"+ j.ToString ()+"  k:" + k.ToString () + "  m:" + m.ToString ();
    }

Okay,遇到第一个问题,我将两个timer的inerval设置为1000,500,分别放在不同的updatepanel里面,但我发现他们的更新频率总是0.5秒,并只是显示一个。
当我准备上msdn查查的时候,突然想起updatepanel在同一个页面触发机制的问题
所以我马上将两个updatepanel的updatemode设置为Conditional。Okay,F5一下,通过。

现在我需要两个东西,就是颜色的选取和随机。
颜色的选取,我参考了一下csdn的方案,添加了using System.Drawing;然后就利用内置的颜色函数来制作颜色,代码如下:

Panel1.BackColor =  Color.Orange;

可以更改panel的背景颜色了,但是我需要动态的按照三色原理来实现随机颜色;
查了查资料,完成的解决方案是:

Panel1.BackColor =  Color.FromArgb(((System.Byte)(100)),((System.Byte)(110)),((System.Byte)(120)));

这样,panel的背景颜色就可以利用三个数字来操纵。
现在,需要的就是随机数了,继续baidu一下,得到如下解决方案:

          Random   ran=new   Random();  
           int   j=ran.Next(100,255);
           int   k=ran.Next(100,255);
           int   m=ran.Next(100,255);

这样,就可以产生三个随机的int整数j , k ,m
Okay,这就是我所需要的,把这些东西与颜色函数整合

Panel1.BackColor =  Color.FromArgb(((System.Byte)(j)),((System.Byte)(k)),((System.Byte)(m)));

把以前定义的临时接口删除,不要让j,k,m出现重定义。
Okay,F5,通过。

通过这个小例子,我学会了updatepanel简单的并行机制解决方法,timer的基本用法
以及随机数的产生和颜色的调用和产生。

------------------------------------------------

随后我又扩展了一下,我需要用一个button来操作其中一个timer,实行进行“暂停”和“继续”的两个反操作
代码如下:

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (Timer2.Enabled == false)
            Timer2.Enabled = true;
        else
            Timer2.Enabled =false;
    }

值得注意的是,button一定要放在panel里面,不然页面会出现刷新的情况,能实现这个效果,但会出现刷新了。
posted @ 2007-06-21 17:48  灯火阑珊²ºº7  阅读(848)  评论(2编辑  收藏  举报