c# winform中,如何让弹出的另一个窗体显示在最前端

假设有两个程序,分别为“A.exe”、“B.exe”,分别是来自两个不同的解决方案,我在A中用Process.Start("B.exe"); 实现了启动同一目录下的B,此时如何保持B始终在A之前,如果B窗口不取消,这无法在A上操作?

第1个回答  2013-07-11
使用window api

WS_EX_TOPMOST
0x00000008L

The window should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.
第2个回答  2013-07-11
使用反射啊,读进来操作呗,置顶什么的都可以啊追问

能说的具体点吗,或者给个例子的网址

追答

//WinFormAssemblyUC.exe里面有窗体Form1,则在你需要调用的代码里写下面的代码
Assembly SampleAssembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "WinFormAssemblyUC.exe");

Object o = SampleAssembly.CreateInstance("WinFormAssemblyUC.Form1");

((Form)o).ShowDialog();
//就可以了,还可以实现更过功能

追问

不行诶,我A和B不是同一个解决方案里的

追答

怎么可能不行,你那A和B是不是都是 ,NET编写的啊?如果是的话,你将WinFormAssemblyUC.exe放在你程序的exe下,就能读取到啊,不用添加到你的解决方案里,我可是成功调试了

本回答被提问者采纳

c# winform中,如何让弹出的另一个窗体显示在最前端
使用window api WS_EX_TOPMOST 0x00000008L The window should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.

C# winform 怎么让窗体蹦到前面
让窗体最前置的话,可以使用:[DllImport("user32.dll")][return: MarshalAs(UnmanagedType.Bool)]static extern bool SetForegroundWindow(IntPtr hWnd);这样调用:SetForegroundWindow(this.Handle); \/\/当前窗体是this 或者调用:this.Activate(); \/\/当前窗体是this 但是这两种方法都会激活窗体,且前者...

c# winform程序 不管有几个窗口,每次新打开的总显示在最前面,怎么...
只要窗体.Activate()就行了

C#WinForm窗体显示最前的问题?
点打印按钮的时候,把原来那个窗口的Top Most设置为FLASE。关闭PrintPerview界面时在设为true试试看

C#中在一个窗体中点击弹出另一个窗体,同时关闭本窗体
点击按钮后this.Hide();new Form2().Show();隐藏后要让他显示的话 再次调用控件的Show()方法就好了

c#的 winform怎么使弹出的窗口在屏幕的正中间,就是当我点击链接弹出的窗...
在C#的Winform开发中,让弹出窗口始终居中显示其实相当简单。只需在创建窗口时设置好startposition属性即可。下面通过一个实际步骤来说明如何操作:首先,打开Visual Studio 2015,选择新建一个Windows窗体应用程序项目。启动后,你会看到一个空白的窗体界面。接下来,右键单击窗体,选择"属性"选项,这将打开窗体...

c#的winform中如何让一个窗体在本程序最上面而不是桌面最上面?
首先,ShowDialogResult是什么东东?我只知道有ShowDialog。其次,你这种情况,最好不要用模式对话框,而只是一般的窗口。如果一定要用对话框。那就用代码从frmMain打开frm2,而不是从frm1打开。比如,在frm1中按相应的按钮后,结束那个对话框,然后在主窗口的流程中打开frm2....

C#winform,呼出时如何显示在最上层
窗体处于激活状态,在当前程序中就是现实在最上层,激活窗体可以用窗体的Activate()方法。若是要在其他程序的最上层需要设置窗体的TopMost属性为True。

C# Winform中如何实现窗体之间的跳转
回答:实现窗体之间的跳转在同一个项目中我有两个窗体,如何指定某一个窗体为我的程序运行时的第一个窗口?static void Main(){Application.Run(new FormName());}FormName就是你想启动的第一个窗体。实现窗体之间的跳转:程序首先运行的是“登录”窗体,如果是新用户,就需要注册,再登录窗体,单击...

C#WinForm中如何修改窗体显示的位置?
将屏幕工作区域大小减去你的窗体大小就好了啊 private void Form1_Load(object sender, EventArgs e){ this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - this.Size.Width, \/\/屏幕工作区域减去窗体宽度 Screen.PrimaryScreen.WorkingArea.Width - this.Size.Height); \/\/屏幕工作区域减去...

相似回答