111,094
社区成员




private Thread thread01;
////定义一个委托,用于打开窗体
public delegate void ShowCallback();
//线程方法
private void OpenForm01()
{
if (this.InvokeRequired)
{
ShowCallback d = new ShowCallback(OpenForm01);
this.Invoke(d, new object[] { });
}
else
{
FrmAddCarNo frmAddCarNo = new FrmAddCarNo();
frmAddCarNo.TopLevel = false;
frmAddCarNo.Visible = true;
//添加
this.panelCarNo.Controls.Add(frmAddCarNo as Control);
}
}
//启动线程
private void StartThread01()
{
thread01 = new Thread(new ThreadStart(OpenForm01));
//thread01.IsBackground = true;
thread01.Start();
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsApplication257
{
public partial class Form1 : Form
{
Panel panelCarNo = new Panel();
bool Created = false;
public Form1()
{
InitializeComponent();
panelCarNo.Parent = this;
panelCarNo.Dock = DockStyle.Fill;
this.Shown += new EventHandler(Form1_Shown);
}
void Form1_Shown(object sender, EventArgs e)
{
new Thread(new ThreadStart(OpenFormThread)).Start();
while (!Created)
Application.DoEvents();
Form F = (Form)this.panelCarNo.Controls.Find("XXX", true)[0];
F.Text = "ZZZZZZZZ";
}
delegate void ShowCallback();
void OpenFormThread()
{
this.Invoke(new ShowCallback(Do));
Created = true;
}
void Do()
{
Form frmAddCarNo = new Form();
frmAddCarNo.TopLevel = false;
frmAddCarNo.Visible = true;
frmAddCarNo.Parent = this.panelCarNo;
frmAddCarNo.Name = "XXX";
}
}
}