C#winform怎样使同一解决方案下的同一个项目里面的两个不同窗体同时运行?帮帮忙啊!

还是不行。。。。。... 还是不行。。。。。 展开
 我来答
makosharp
推荐于2016-09-22 · TA获得超过676个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:268万
展开全部

如果你的两个窗体需要交互,那么请在此项目中自己new Form1,new Form2然后显示;

如果你的两个窗体非常独立,更像是两个应用,那么请放在两个项目中用1楼的方法同时启动;

如果你坚持要在同一个项目中启动两个相对独立的窗体应用,请修改此项目的Program.cs,为其中一个窗体单独分配一个线程去跑:


[STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //System.Threading.ThreadPool.QueueUserWorkItem((i) => Application.Run(new Form1()));
            System.Threading.Thread thd = new System.Threading.Thread(() => Application.Run(new Form1()));
            thd.IsBackground = false;
            thd.Start();
            Application.Run(new Form2());
        }

此举会使用新的前台线程启动Form1(thd.IsBackground默认值本就是false,此句仅为示意)。

这样写的话,Form1和Form2均关闭的情况下整个应用才算是结束。


如果使用注释的一行代码启动Form1,又或者是thd.IsBackground=true;则当Form2结束时Form1会被强制终止。

匿名用户
2014-03-09
展开全部

1右键点击解决方案多启动项目,操作那一栏,选择启动

追问
还是不行啊!!!哇~哇哇~
追答
//tieba.baidu.com/i/sys/jump?un=sweety%C4%FD%B1%CC" onclick="Stats.sendRequest('fr=tb0_forum&st_mod=pb&st_value=atlink');" onmouseover="showattip(this)" onmouseout="hideattip(this)" username="sweety%C4%FD%B1%CC" target="_blank" class="at">@sweety凝碧  :我可以,你在你要启动的项目后面,操作栏里面选择启动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-10
展开全部
感觉你在写聊天类似的程序,想同时测试两个窗口。那是不可能的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式