sharat naik Ответов: 1

Как сделать полноэкранное слайд-шоу windows form с интервалом 10 секунд


Форма 1 будет отображаться и закрываться автоматически в течение 10 секунд интервала,
Form2 будет отображаться и закрываться автоматически в течение 10 секунд интервала,
'
'
Form10 будет отображаться и закрываться автоматически в течение 10 секунд интервала
повторно
Каждая форма будет показывать и закрывать интервал 10 секунд
без использования какого-либо контроля.
Пожалуйста, помогите мне....

Что я уже пробовал:

общественные RadForm1()
{
метод InitializeComponent();
Также mytimer.Интервал = 3000;
Также mytimer.Tick += new EventHandler(MyTimer_Tick);
Также mytimer.Начать();
}
Форма frmShow = новая форма();


частная MyTimer_Tick недействительным(объект отправителя, EventArgs в электронной)
{
этот.Скрыть();
SqlConnection con = новый SqlConnection(соединение);
против.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("выберите Frm_Name от Form_Master где статус='г' заказ Frm_Name", кон);
SqlDataReader rdr = cmd.Метода executereader();
если (ор.HasRows)
{
а (ор.Читать())
{

Frm_Name строка = (строка)ор["Frm_Name"];
Сборка frmAssembly = сборка.LoadFrom(Приложение.ExecutablePath);
foreach (Type type in frmAssembly.метод GetType())
{
если (тип.Имя == Frm_Name)
{
frmShow = (форма)frmAssembly.CreateInstance(тип.Метод toString());
фрмшоу.Location = новая точка(0, 0);
этот.Размер = Экран.Первичный экран.WorkingArea.Размер;
этот.StartPosition = FormStartPosition.CenterScreen;
Также mytimer.Включено = ложь;
Timer_Tick();
фрмшоу.Закрывать();

}

}
}
} против.Закрывать();
}


общественного недействительными Timer_Tick()
{
фрмшоу.Покажите();
Система.Нарезание резьбы.Нить.Сон(2000);

}

1 Ответов

Рейтинг:
1

saimanisha

этот приведенный ниже код предназначен для предопределенных форм, где я создал экземпляр для формы a2 и формы a3 как g и j ..

public partial class a1 : Window
   {
       public static int count = 0;
       Timer timer;
       public int Interval;
       List<string> li;
       public a1()
       {
           InitializeComponent();
           int interval = 10 * 1000;
           timer = new Timer(interval);
           Interval = interval;

           timer.Elapsed += new ElapsedEventHandler(a);timer.Start();
           timer.AutoReset = true;
       }
       private void a(object sender,ElapsedEventArgs elapsedEvent)
       {
           StopTimer();
           bool AutoRepeat = true;
         //timer.Interval = 100; //any value
         //  timer.Start();
           if (AutoRepeat)
               StartTimer(); count++;
           this.Dispatcher.Invoke(() =>
           {
               this.Hide();
                  });
           if (count == 1)
           {
               this.Dispatcher.Invoke(() =>
               {
                   g.Show();
               });

           }
           else if (count == 2)
           {
               this.Dispatcher.Invoke(() =>
               {
                   g.Close();
               });
               this.Dispatcher.Invoke(() =>
               {
                   j.Show();
               });

           }
           else
           {
               this.Show();
           }
       }

       a2 g = new a2();a3 j = new a3();
       public void StopTimer()
       {
           timer.Stop();
           timer.Enabled = false;
       }
       public void StartTimer()
       {
           StopTimer();
           timer.Enabled = true;
           timer.Interval = Interval;
           timer.Start();
       }
   }


sharat naik

Он работает хорошо.................

Active_Timer таймер = новый таймер();
Форма frmShow = новая форма();

публичная основная форма()
{
метод InitializeComponent();
Active_Timer.Интервал = 100;
Active_Timer.ТИК += новый EventHandler(Active_Timer_Tick);
Active_Timer.Начать();
}

частная асинхронного Active_Timer_Tick недействительным(объект отправителя, EventArgs в электронной)
{
bool IsOpen = false;
этот.Скрыть();
SqlConnection con = новый SqlConnection(соединение);
против.Открыть();
SqlCommand cmd = new SqlCommand("select Form_Name from Display_External_Selected where Type=4", con);
SqlDataReader rdr = cmd.Метода executereader();
если (ор.HasRows)
{
чт.Читать();
ВАР Frm_Name = (строки)ор["Form_Name"];
ВАР str_array = Frm_Name.Расщеплять(',');
SqlCommand cmdd; SqlDataReader reader; SqlConnection conn;

for (var i = 0; i < str_array.Длина; i++)
{
Active_Timer.Stop();
conn = новый SqlConnection(соединение);
Коннектикут.Открыть();
cmdd = новая команда sqlcommand("выберите Form_Active от Display_Parameters где Form_No=" + str_array[я] + "" коробки);
reader = cmdd.Метода executereader();
если (читатель.HasRows)
{
читатель.Читать();
ВАР Active_Frm_Name = (строки)читатель["Form_Active"];
Isopen значение = ИСТИНА;
string formTypeFullName = строка.Формат("{0}.{1}", вот это.Метод gettype().Пространства Имен, Active_Frm_Name);
Тип type = тип.Метод gettype(formTypeFullName, правда);
Форма frmShow = (форма)активатор.CreateInstance(тип);
фрмшоу.Location = новая точка(0, 0);
фрмшоу.Размер = Экран.Первичный экран.WorkingArea.Размер;
фрмшоу.StartPosition = FormStartPosition.CenterScreen;
if (IsOpen == true)
{
фрмшоу.Покажите();
Isopen значение = ложь;
}
if (IsOpen == false)
{
жду задания.Задержка(3000);
фрмшоу.Закрывать();
}
Active_Timer.Включено = ложь;
Active_Timer.Начать();
Active_Timer.Интервал = 1000;

}

}
против.Закрывать();
}
}