form1.vb、
form2.vb、
form3.vb 、form4.vbという 4 つの Windows フォームがあります
。
また、form5.vb というマスター ページが 1 つあります。そのため、form5.vb の 4 つのウィンドウ フォームの上で 20 秒ごとに 1 つずつ回転させました。どうやってするの ?
form1.vb、
form2.vb、
form3.vb 、form4.vbという 4 つの Windows フォームがあります
。
また、form5.vb というマスター ページが 1 つあります。そのため、form5.vb の 4 つのウィンドウ フォームの上で 20 秒ごとに 1 つずつ回転させました。どうやってするの ?
BringToFront
20 秒のタイマーで、各フォームで「 」を呼び出すことができます。
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.bringtofront.aspx
基本的に、タイマーを作成し、各フォームで関数BringToFrontを呼び出します。
C# の場合:
static int counter = 1;
static void StartRotating()
{
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
myTimer.Interval = 20000; // 20 seconds
myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Start();
}
private static void TimerEventProcessor(Object myObject,
EventArgs myEventArgs) {
// you could use a switch statement also
if(counter==1) form1.BringToFront();
if(counter==2) form2.BringToFront();
if(counter==3) form3.BringToFront();
if(counter==4) {
form4.BringToFront();
counter=0; //reset counter
}
counter++;
}
現在表示されているフォームを知るためにインデックスを保持する必要があり、タイマー経過イベントでこれを行うことができます
formtoshow.TopMost = true;
formtoshow.BringToFront();