【问题标题】:How to rotate windows forms in every 20 secs using timer in windows application?如何在 Windows 应用程序中使用计时器每 20 秒旋转一次窗体?
【发布时间】:2013-07-16 13:26:00
【问题描述】:

我有四个窗体,分别是
form1.vb、
form2.vb、
form3.vb、
form4.vb。

而且我还有一个母版页,即 form5.vb。因此,我每 20 秒在 form5.vb 中的四个窗口窗体上一一旋转。怎么办?

【问题讨论】:

  • 正在显示什么?它们只是图片吗?告诉我们更多关于您在做什么,以便我们提供更好的答案。
  • 你应该展示你尝试过的东西并描述你在其中遇到的具体问题。

标签: vb.net windows-applications


【解决方案1】:

在 20 秒计时器上,您可以在每个表单上调用“BringToFront”。

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.bringtofront.aspx

【讨论】:

  • 嗨,现在我在一个窗口表单中有四个 datagridview,我如何每 20 秒显示每个 datagridview。请帮我做。
【解决方案2】:

基本上,您创建一个计时器并在每个表单上调用函数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++;
}

【讨论】:

  • @user2553430 如果我的回答有帮助,请投票并单击复选标记以接受此回答。谢谢!
【解决方案3】:

您需要保留一个索引以了解当前显示的表单,然后在计时器经过的事件中您可以这样做

            formtoshow.TopMost = true;
            formtoshow.BringToFront();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多