子窗口如何才能不盖住父窗口? 弹出子窗口后,父窗口就被子窗口盖住了。我希望两个窗口不论哪个都可以在最前面。请问如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要showDialog直接show就可以了。 windows api,一个窗体激活的时候给另外一个发消息using System;using System.Windows.Forms;using System.Runtime.InteropServices;namespace WindowsApplication43{ public partial class Form1 : Form { Form frm =null; public Form1() { InitializeComponent(); this.Activated += Form_Activated; } const int WM_NCACTIVATE = 0x86; const int WA_ACTIVE = 0x1; [DllImport("user32.dll", EntryPoint = "SendMessage")] public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam); private void button1_Click(object sender, EventArgs e) { frm = new Form(); frm.Text = "jinjazz"; frm.Activated += Form_Activated; frm.Show(); frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top); SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); } void Form_Activated(object sender, EventArgs e) { SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); if (frm != null) SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); } }} 我用的show两个窗口都可以操作。但是界面显示的时候,父窗口就被子窗口盖住了只有把父窗口移出子窗口的范围才能看到父窗口。 父窗体在Show子窗体的时候 调整个属性:this.TopMost=ture;子窗体关闭的时候。 在把topMost改回false; 改窗体属性就是啦,窗体属性StartPosition 你子窗口有多大啊。大家不是都说了topmost,到底是谁不明白谁意思呢 就是,你在主窗体显示子窗体代码的时候,加上这句就可以了:this.TopMost=true 你把 子窗体.ShowDialog() 换成 子窗体.Show() 就可以了。这么简单的问题描述的这么复杂。。 如何用C#取查询后的网页信息 关于c# 正则的奇怪问题,高手救命啊 再发一次,求实现瑞星杀毒小狮子这样的桌面宠物实现方法!!!!!!!!!高手!!! 关于.net 2.0 发E-Mail的问题 关于XenoCode加密的问题 100分求线程代码! 高分求解,如何关闭掉其它的Form? socket传送文件的大小问题 *.cab文件是可执行文件吗? 请问如果要从事计算机领域的研究,就语言部分来说C/C++语言是否是必须的? C#winform窗体创建句柄失败?急急急 linq基础问题
直接show就可以了。
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication43
{
public partial class Form1 : Form
{
Form frm =null;
public Form1()
{
InitializeComponent();
this.Activated += Form_Activated;
}
const int WM_NCACTIVATE = 0x86;
const int WA_ACTIVE = 0x1;
[DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);
private void button1_Click(object sender, EventArgs e)
{
frm = new Form();
frm.Text = "jinjazz";
frm.Activated += Form_Activated;
frm.Show();
frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top);
SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
}
void Form_Activated(object sender, EventArgs e)
{
SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
if (frm != null)
SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
}
}
}
两个窗口都可以操作。但是界面显示的时候,父窗口就被子窗口盖住了
只有把父窗口移出子窗口的范围才能看到父窗口。
大家不是都说了topmost,到底是谁不明白谁意思呢
你把 子窗体.ShowDialog() 换成 子窗体.Show() 就可以了。这么简单的问题描述的这么复杂。。