如何获取对话框在winforms中的当前位置?
How to get the current position of the dialog in win forms?
我有一个对话框,我可以将它拖动到 screen.When 我关闭对话框并再次打开。我希望它显示在之前的最后一个位置。
如何在 win 窗体中保存对话框的最后位置?
您需要:
1) 创建您的自定义 "dialog",基本上是 Windows.Forms.Form
.
FormStartPosition 属性 设置为 Manual
。
2) 创建后,在其 OnClosing event save its position somewhere from Location 属性
3) 下次显示时,赋值之前保存的值。
示例和脏解决方案。
在解决方案中,我们有两种形式。 Form1、Form2 和设置静态 class.
public static class Settings
{
public static int X = 0;
public static int Y = 0;
}
在 Form1 中,我们有 button1 负责显示 Form2。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.StartPosition = FormStartPosition.Manual;
frm.Location = new Point(Settings.X, Settings.Y);
frm.ShowDialog();
}
}
在 Form2 中,我们有 ClosingEvent 处理程序:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Settings.X = this.Location.X;
Settings.Y = this.Location.Y;
}
}
当 Form2 关闭时,我们将位置存储到静态设置 class。稍后我们从这个 class X 和 Y 位置读取。
希望对您有所帮助。
我有一个对话框,我可以将它拖动到 screen.When 我关闭对话框并再次打开。我希望它显示在之前的最后一个位置。
如何在 win 窗体中保存对话框的最后位置?
您需要:
1) 创建您的自定义 "dialog",基本上是 Windows.Forms.Form
.
FormStartPosition 属性 设置为 Manual
。
2) 创建后,在其 OnClosing event save its position somewhere from Location 属性
3) 下次显示时,赋值之前保存的值。
示例和脏解决方案。
在解决方案中,我们有两种形式。 Form1、Form2 和设置静态 class.
public static class Settings
{
public static int X = 0;
public static int Y = 0;
}
在 Form1 中,我们有 button1 负责显示 Form2。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.StartPosition = FormStartPosition.Manual;
frm.Location = new Point(Settings.X, Settings.Y);
frm.ShowDialog();
}
}
在 Form2 中,我们有 ClosingEvent 处理程序:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Settings.X = this.Location.X;
Settings.Y = this.Location.Y;
}
}
当 Form2 关闭时,我们将位置存储到静态设置 class。稍后我们从这个 class X 和 Y 位置读取。
希望对您有所帮助。