如何让我的应用程序在不重新启动的情况下保持领先地位
本文关键字:情况下 领先地位 重新启动 我的 应用程序 | 更新日期: 2023-09-27 17:58:53
这是我当前的代码,它从设置中获取bool变量(选中或未选中复选框),然后为我的应用程序设置TopMost属性。
namespace POC_App
{
public partial class mnView : Form
{
public mnView()
{
InitializeComponent();
// Start program minimized if setting is set to true
if (Properties.Settings.Default.setting_startmini)
{
this.Visible = false;
if (this.WindowState == FormWindowState.Normal)
{
this.WindowState = FormWindowState.Minimized;
}
this.ShowInTaskbar = false;
}
// Make the program on top
if (Properties.Settings.Default.setting_alwaystop)
{
this.TopMost = true;
}
}
}
}
问题是,它会使我的应用程序保持在所有其他窗口的顶部,但每次选中或取消选中该框时,我都必须重新启动应用程序。我该怎么做才能得到它,这样我就不必每次设置bool设置时都重新启动应用程序了?
据我所见,它在应用程序启动时作为全局设置中的一个设置运行,而不是在选中或取消选中复选框时运行。我认为你的逻辑有点偏离了你试图做的事情。
选中复选框时,this.topmost=true,
与设置属性相反。设置将在下次重新启动应用程序时起作用
类似于:
checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkbox1.checkstate = checked)
this.TopMost = true;
this.Focus();
}
我没有用vb输入,所以请检查拼写和语法等,但这听起来像是你想要做的逻辑。如果从非主窗体调用,你可能必须使用这个。Parent.Form等