c#如何实现同时启动两个窗体程序?

 我来答
依然特雷西sky
高粉答主

2020-02-06 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1511
采纳率:33%
帮助的人:69.4万
展开全部

1、启动Visual Studio 2010,文件菜单》新建》项目。

2、选择c#Windows窗体应用程序,输入项目名称,选择项目保存目录。

3、在窗体上添加一个ListBox,两个按钮。


4、循环创建并启动线程执行。

5、循环停止线程执行。

6、在线程安全的模式下调用Windows窗体上的控件。

很多游戏
高粉答主

2019-10-30 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:387006

向TA提问 私信TA
展开全部

1、同时启动多个窗口类,首先输入代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

2、然后输入代码

namespace MVCProject

{

  /// <summary>

  /// 多窗口同时启动类

  /// <remarks>继承ApplicationContext的原因是Application.Run(ApplicationContext context);参数的需要</remarks>

  /// <remarks>另一个是关闭同时启动的窗口</remarks>

  /// </summary>

3、然后输入代码:

  class MultiFormApplictionStart : ApplicationContext

  {

    private void onFormClosed(object sender, EventArgs e)

    {

      if (Application.OpenForms.Count == 0)

      {

        ExitThread();

      }

    }


public MultiFormApplictionStart()

    {

      /*

       *里面添加启动的窗口

       */

      var formList = new List<Form>(){

      new DJControl(),

      new DJView()

    };

      foreach (var item in formList)

      {

        item.FormClosed += onFormClosed;

      }

      foreach (var item in formList)

      {

        item.Show();

      }

    }

  }

}

4、最后在Program的类中调用这个类即可

static class Program

{

  /// <summary>

  /// 应用程序的主入口点。

  /// </summary>

  [STAThread]

  static void Main()

  {

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new MultiFormApplictionStart());

  }

}

5、然后下方就是效果图:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freeeeeewind
推荐于2017-09-16 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1356万
展开全部

1)新建建一个“Windows 窗体应用程序”项目。项目中带一个窗体Form1

2)再向项目中添加一个窗体Form2

3)在Form1的后台代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
    
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            //加载并显示Form2
            Form2 f2 = new Form2();
            f2.Show();
        }
    }
}

这样,就实现了同时启动两个窗体程序

追问

恩,你说的方法可行。

那我接着再请问个问题,

我现在在一个form中想写一些菜单功能,比如有button1,点该按钮就会弹出一个类似于form一样的容器,效果如下图,弹开这层的时候前面一层button1所在的容器还在并未关闭,焦点则在最新弹出的子窗体上,直至最里面这层我点了确定操作完毕。

问题就是类似于这样的弹出框c#中我用什么组件来实现?在线等 十分感谢

追答

如上图,在Form1加入一个Panel,初始时,设置Panel.Visible=false;点击菜单项后,

设置 Panel.Visible=true,这个Panel就显示出来了;点击Panel中的“保存”或“取消”按钮,再设置Panel.Visible = false,隐藏起来。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭某人来此
2015-10-03 · TA获得超过1646个赞
知道答主
回答量:952
采纳率:100%
帮助的人:90.3万
展开全部
1)新建建一个“Windows 窗体应用程序”项目。项目中带一个窗体Form1
2)再向项目中添加一个窗体Form2
3)在Form1的后台代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//加载并显示Form2
Form2 f2 = new Form2();
f2.Show();
}
}
}
这样,就实现了同时启动两个窗体程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁书包
2015-02-26 · TA获得超过433个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:143万
展开全部
只能利用多核cpu,利用每个核心中启动窗体,虽然仍不是严格的同时启动,但比单核下要快很多!具体方法参见并行编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式