во-первых, мне жаль, что даже если есть много тем, которые могут быть связаны с моей проблемой, я все равно не могу понять, как решить мою проблему.
просто большинство слов, используемых в кодировке, для меня новые. мне очень нужно ваше руководство, ребята.. =(
по моей проблеме..
у меня есть 2 формы в моем проекте. форма 1 действует как мой экран входа в систему, а форма 2 открывается, если логин пользователя правильный.
я использую UDP в качестве сокета для подключения. я сделал простой UDPlistener внутри таймера (причина в том, что если я не закрою его, если нечего читать, это просто заставит мою программу зависнуть и продолжать ждать сообщений)
Примечание: мой прослушиватель UDP запускается в другом потоке, подобном этому.
Thread thread1 = new Thread(UDPListener.StartListener);
thread1.SetApartmentState(ApartmentState.STA);
Thread.Sleep(100);
thread1.TrySetApartmentState(ApartmentState.STA);
thread1.Start();
когда серверная программа посылает мне сигнал открыть форму2, проблема возникает.
проблема в том, что форма2 появилась... но форма1 не скрывалась или не была видна=ложь; (form1 должен уметь это делать)
Я делаю этот код, когда пытаюсь показать форму2 и скрыть форму1. Примечание: есть еще одна проблема (не совсем уверен). Я заметил, что это просто дублирование форм.
Form1 f1 = new Form1();
Form2 f2 = new Form2();
f1.Command("009");
f1.MiniTicker.Enabled = false; //need to do this, cant do this without putting Form1 f1 = new Form1();
Login.TBOption.showTaskBar();
TaskbarHide.Taskbar.Hide();
f1.CoreAds.Enabled = false; //same here
f1.Visible = false;
f1.Hide();
f1.Invoke(
(MethodInvoker)(() =>
{
new TimerMode().Show();
}));
f1.Invoke(
(MethodInvoker)(() =>
{
new MainForm().Hide();
}));
Последнее примечание: после того, как я запустил приведенный выше код... Form1 похож на закрытие, но после этого он снова открывается...
пожалуйста, помогите мне решить мою проблему. мне нужно закончить дипломную работу =(