Mathieu Chavoutier wrote:
"Ed Courtenay" <re*****************************@edcourtenay.co.uk > a écrit
dans le message de news:OA*************@TK2MSFTNGP12.phx.gbl...
When you say "I would like that window to be always on top" are you
saying that the application needs to keep on responding while the
configuration window is open?
When the configuration window is open, I want it to be on top, and the other
would
be locked.
If you are, set the TopMost property of the Form you are creating to
true before showing it.
It locks the main window, so yes :o)
TopMost does not 'lock' the main window
If you're actually talking about displaying a Modal window (which I
suspect you are), use the Form's ShowDialog() method to block until the
Form has closed.
What do you mean by "Modal window" ?
I have tried the TopMost property, and it locks the main window, but it
seems that your solution is doing the same. So, I will take a look at
ShowDialog(), and see if I have another question :o)
Thanks.
Try this for an example:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace WinScratch
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(8, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(96, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Show Modal";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(112, 8);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(96, 23);
this.button2.TabIndex = 1;
this.button2.Text = "Show TopMost";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(216, 38);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
Form newForm = new Form();
newForm.Text = "Modal Window";
newForm.ShowDialog();
}
private void button2_Click(object sender, System.EventArgs e)
{
Form newForm = new Form();
newForm.Text = "TopMost Form";
newForm.TopMost = true;
newForm.Show();
}
}
}
--
Ed Courtenay
[MCP, MCSD]
http://www.edcourtenay.co.uk