In this article, you will find a demo of a VB.NET way to duplicate the spinning panel effect widely used on the iPhone to let a panel host content both on its front and its back.
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
namespace Bornander.UI.Test.Stocks
{
public class PriceGenerator
{
public static PriceGenerator Instance { get; private set; }
private IList<StockViewModel> observers = new List<StockViewModel>();
private Timer timer = new Timer(100);
private Random random = new Random();
static PriceGenerator()
{
Instance = new PriceGenerator();
}
public PriceGenerator()
{
timer.Elapsed += GeneratePrice;
timer.Start();
}
private void GeneratePrice(object sender, ElapsedEventArgs e)
{
StockViewModel model = observers[random.Next() % observers.Count];
double newPrice;
if (model.Price == 0 )
newPrice = (500 + random.NextDouble() * 2000) + random.NextDouble() * 200;
else
newPrice = model.Price * (random.NextDouble() - 0.5) * 0.1;
model.OnNewPrice(model.Price + newPrice);
}
public void Register(StockViewModel stock)
{
if (!observers.Contains(stock))
observers.Add(stock);
}
public void Deregister(StockViewModel stock)
{
observers.Remove(stock);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Article videos
Oakmead Apps Android Games
21 Feb 2014: Best VB.NET Article of January 2014 - Second Prize
18 Oct 2013: Best VB.NET article of September 2013
23 Jun 2012: Best C++ article of May 2012
20 Apr 2012: Best VB.NET article of March 2012
22 Feb 2010: Best overall article of January 2010
22 Feb 2010: Best C# article of January 2010