首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行时更改topMost

在运行时更改topMost
EN

Stack Overflow用户
提问于 2012-04-12 23:08:37
回答 2查看 4.4K关注 0票数 0

我在用这个代码..。现在默认情况下,我的应用程序是topMost = true

但是,当我试图让一个按钮执行下面的这个函数时,我会遇到一个问题,它会禁用它一次。然后在第二次单击“不”。

代码语言:javascript
复制
public void setTop()
{
    if (this.TopMost == false)
    {
        this.TopMost = true;
    }
    if (this.TopMost == true)
    {
        this.TopMost = false;
    }

知道为什么吗?这在过去也发生过,设置热键的菜单,我做了一次,然后它没有工作:(

编辑:我找到了如何做到这一点,但无法从另一种形式这样做。

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e)
{
    pwn4g3 mainForm = new pwn4g3();
    mainForm.TopMost = true();
    mainForm.Update();
}
EN

回答 2

Stack Overflow用户

发布于 2012-04-12 23:30:44

代码语言:javascript
复制
public void setTop()
{
    if (!this.TopMost)
    {
        this.TopMost = true;
    }
    else // change this to else. 
    {
        this.TopMost = false;
    }
}

在将true分配给this.topmost的版本中,第二个if条件满足。这就是问题的根源。

允许假设代码执行从false开始,然后首先如果满足条件,更改为true,检查第二个if条件,它也满足,然后再次更改为false.

票数 1
EN

Stack Overflow用户

发布于 2012-04-13 00:58:57

在第二个示例中,您不是正在显示您的Form,请尝试:

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e)
{
    pwn4g3 mainForm = new pwn4g3();
    mainForm.Show();
    mainForm.TopMost = true;
    mainForm.Update();
}

另外,如果您使用mainForm.Show(this);,第二个表单将属于您的Parent Form,并且将自动位于顶部。

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e)
{
    pwn4g3 mainForm = new pwn4g3();
    mainForm.Show(this);
}

但是就我个人而言,如果我想切换最上面的属性,我将使用我的表单变量作为Class级变量,并执行类似的操作。

代码语言:javascript
复制
public partial class Form1 : Form
{
    pwn4g3 mainForm = new pwn4g3();
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if(mainForm.IsDisposed )   //Check that Form hasn't been destroyed
           mainForm = new pwn4g3();
        if(!mainForm.Visible)  //Make sure it is visible
            mainForm.Show();

        mainForm.TopMost = !mainForm.TopMost;
        this.BringToFront(); //To verify zorder of created form
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10133114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档