0
아래 코드를 상상해보십시오. 첫 번째 창만 맨 위에 나타나고 이후의 모든 창은 어떤 이유로 든 프로그래밍 방식으로 집중 될 수 없으며 배경에 나타납니다. 어떤 생각을 어떻게 해결할 수 있을까요? BTW, 정적 메서드/속성은 허용되지 않으며 전역 속성입니다.첫 번째 표시된 창만 포커스가있는 이유
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Thread t1 = new Thread(CreateForm);
t1.SetApartmentState(ApartmentState.STA);
t1.Start();
t1.Join();
t1 = new Thread(CreateForm);
t1.SetApartmentState(ApartmentState.STA);
t1.Start();
t1.Join();
}
private static void CreateForm()
{
using (Form f = new Form())
{
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer
{
Enabled = true,
Interval = 2000
};
t.Tick += (s, e) => { f.Close(); t.Enabled = false; };
f.TopMost = true;
Application.Run(f);
}
}
어떻게하면 'TopMost'로 두 항목을 가질 수 있습니까? 박스 오피스의 대기열을 상상해보십시오. 대기열에서 첫 번째 사람인 경우 다른 사람이 첫 번째 자리를 차지할 수 없습니다. 누군가가 첫 번째 자리를 차지하면 자동으로 첫 번째 자리를 잃게됩니다. 달성하고자하는 점을 말씀해 주시겠습니까? – SolutionYogi
Join()으로 인해 창은 동시에 만들어지지 않고 순서대로 표시됩니다. –