首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使TopMost切换开关

如何使TopMost切换开关
EN

Stack Overflow用户
提问于 2020-06-27 22:10:46
回答 1查看 153关注 0票数 0

你好,我正在尝试让TopMost切换开关,这里是代码: private void bunifuiOSSwitch1_OnValueChange(object sender,EventArgs e)

代码语言:javascript
复制
private void bunifuiOSSwitch1_OnValueChange(object sender, EventArgs e)
        {
            Main main = new Main();
            if(bunifuiOSSwitch1.Value == true)
            {
                main.TopMost = true;
            }
            else
            {
                main.TopMost = false;
            }
        }

起初,它在切换到true时起作用,在切换到false时起作用,但当我试图重新打开它时,它不起作用,之后我试图再次更改代码,但这也不起作用……现在它甚至不能TopMost了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-28 07:27:01

您需要做的是将一个对Main的引用传递到您的Settings窗体中。一种方法是在调用Show()ShowDialog()

代码语言:javascript
复制
// ... in Form Main ...
private void button1_Click(object sender, EventArgs e)
{
    Settings settings = new Settings();
    settings.Show(this); // pass in this instance of Main as the "owner" of settings
}

然后,在设置中,您可以将.Owner属性转换回Main类型并对其执行操作:

代码语言:javascript
复制
// ... in Settings Form ...
private void bunifuiOSSwitch1_OnValueChange(object sender, EventArgs e)
{
    if (this.Owner!=null && this.Owner is Main)
    {
        Main main = (Main)this.Owner;
        main.TopMost = (bunifuiOSSwitch1.Value == true);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62611092

复制
相关文章

相似问题

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