C# 强制MessageBox.Show显示在顶部
我有一个简单的winforms应用程序,它将通知我何时向我的票据添加注释。我面临的问题是,当应用程序最小化时,messagebox不会显示在我打开的所有其他窗口和程序前面 我的密码是:C# 强制MessageBox.Show显示在顶部,c#,.net,winforms,.net-4.5,topmost,C#,.net,Winforms,.net 4.5,Topmost,我有一个简单的winforms应用程序,它将通知我何时向我的票据添加注释。我面临的问题是,当应用程序最小化时,messagebox不会显示在我打开的所有其他窗口和程序前面 我的密码是: private void button1_Click(object sender, EventArgs e) { DialogResult result1 = MessageBox.Show("Add some notes to your current ticket?", "Add
private void button1_Click(object sender, EventArgs e) {
DialogResult result1 = MessageBox.Show("Add some notes to your current ticket?",
"Add Notes",
MessageBoxButtons.YesNo);
if (result1 == DialogResult.Yes) {
Timer tm;
tm = new Timer();
tm.Interval = int.Parse(textBox2.Text);
tm.Tick += new EventHandler(button1_Click);
string pastebuffer = DateTime.Now.ToString();
pastebuffer = "### Edited on " + pastebuffer + " by " + txtUsername.Text + " ###";
Clipboard.SetText(pastebuffer);
tm.Start();
} else if (result1 == DialogResult.No) {
//do something else
}
我的理解是,我需要添加
TopMost=True
。但是我看不到在我的代码中添加该属性的位置?当您显示消息框时
将主窗体上的最上面的属性设置为true
。MessageBox
将是最上面的主窗体的模态,使MessageBox
成为最上面的主窗体
显示消息框
后,您可以轻松地再次将最顶端的属性设置为false
private void button1_Click(object sender, EventArgs e)
{
this.TopMost = true; // Here.
DialogResult result1 = MessageBox.Show("Add some notes to your current ticket?",
"Add Notes",
MessageBoxButtons.YesNo);
this.TopMost = false; // And over here.
if (result1 == DialogResult.Yes) {
Timer tm;
tm = new Timer();
tm.Interval = int.Parse(textBox2.Text);
tm.Tick += new EventHandler(button1_Click);
string pastebuffer = DateTime.Now.ToString();
pastebuffer = "### Edited on " + pastebuffer + " by " + txtUsername.Text + " ###";
Clipboard.SetText(pastebuffer);
tm.Start();
}
else if (result1 == DialogResult.No)
{
// Do something else.
}
}
像这样:>>>>`public Form1(){InitializeComponent();TopMost=true;}`这将使应用程序中的所有对话框窗体成为最顶层。如果主窗体被最小化,则messagebox.show在我浏览网页时不会显示。。