首先,我很抱歉,即使有很多给定的主题,可能与我的问题有关,但我无法弄清楚如何解决我的问题..C#使用另一个线程控制窗体,也防止复制窗体
它只是在编码中使用的大多数单词对我来说都是新的。 我真的需要你的指导家伙.. =(
到我的问题..
我有2种形式即时我的项目。 在Form1充当我的登录屏幕 和窗口2是,如果将打开用户登录正确
使用UDP作为我的连接插座。我做了一个简单的UDPlistener 一个定时器内(原因是因为如果我不关闭它,如果那里有什么可看,它只是 我的程序挂起IM,并仍然在等待消息)
注:我的UDP监听被这样
Thread thread1 = new Thread(UDPListener.StartListener);
thread1.SetApartmentState(ApartmentState.STA);
Thread.Sleep(100);
thread1.TrySetApartmentState(ApartmentState.STA);
thread1.Start();
当服务器程序向我发送信号,打开窗口2 现在的问题发生在不同的线程运行..
问题是.. form2出现..但form1没有隐藏或可见= false; (Form1中需要能够做到这一点)
即时通讯做的时候我尝试显示窗口2并隐藏form1的 注意此代码:还有另外一个问题是(不是很确定)..我发现它只是复制形式
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就像收盘代码,但之后它再次打开......
请帮我解决我的问题。我要完成我的论文项目=(
即时通讯仍然遇到这个问题.. =( – Katherina 2011-05-12 04:46:54
)作为编码实践的一个问题,命名Form1和Form2的形式并不明智,而是给它们一个描述性的名称,为什么不使用LoginForm和MainForm(或者更具描述性的) – Martijn 2011-05-12 14:35:24