C# 如何将dialogbox置于所有打开窗体的顶部
我有三个表单:主表单、销售表单和登录表单 在主窗体中我有一个计时器,示例5分钟后登录窗体将被激活 我可以在不关闭主窗体的情况下打开销售窗体主窗体,因此登录窗体将启动 问题是登录表单没有集中在销售表单的顶部,因此用户必须登录才能使用销售表单 主窗体上的一些代码:C# 如何将dialogbox置于所有打开窗体的顶部,c#,C#,我有三个表单:主表单、销售表单和登录表单 在主窗体中我有一个计时器,示例5分钟后登录窗体将被激活 我可以在不关闭主窗体的情况下打开销售窗体主窗体,因此登录窗体将启动 问题是登录表单没有集中在销售表单的顶部,因此用户必须登录才能使用销售表单 主窗体上的一些代码: public void timer_Tick(object sender, EventArgs e) { timer.Stop(); LoginDialog loginForm = new
public void timer_Tick(object sender, EventArgs e)
{
timer.Stop();
LoginDialog loginForm = new LoginDialog();
loginForm.TopLevel = true;
loginForm.ShowDialog();
timer.Start()
}
private void pbSales_Click(object sender, EventArgs e)
{
Sales salesForm = new Sales();
salesForm .ShowDialog(this);
}
编辑
尝试将两者结合起来,这可能对你有用
private void frmMain_Shown(object sender, EventArgs e)
{
// Make this form the active form and make it TopMost
this.ShowInTaskbar = false;
this.TopMost = true;
this.Focus();
this.BringToFront();
this.TopMost = false;
}
试试这个
yourForm.TopMost = true;
或
摆弄
最上面的和BringToFront()
我认为问题在于您正在从主窗体调用ShowDialog
,并且您还打开了销售窗体
对话框的父对象恰好是MainForm
,因此您可以尝试使用
loginForm.ShowDialog(saleform1)代码>
salesform1是您从主窗体打开的销售窗体的实例名称。我尝试了这两种方法。Top Most位于我正在打开的所有程序的顶部。如果TopMost不位于我正在打开的所有其他程序(如浏览器)的顶部,则它非常棒。谢谢,我已尝试不工作,我已更改了上面的代码。是的,这就是我的要求。在发布loginForm.ShowDialog(new Sales())之前,我尝试过这种方法;销售是表单。您如何显示()
销售表单?从主表单Sales salesForm=new Sales();salesForm.ShowDialog(此);请参考上面编辑的代码。好的,那么您是否尝试过计时器ShowDialog(salesForm)
,因为salesForm是显示/打开的表单实例,然后登录将放置在它的顶部,它可以工作,但现在我如何知道我正在打开哪个表单,因为主表单也可以启动登录表单。
yourform.BringToFront()