聲音對我,你應該用你錨定到頂部和右側,一個用戶控件是。但讓我們做一個表格工作。您需要連接其Load事件,以便在重新調整自身之後將其移至正確的位置。然後,您需要主窗體的LocationChanged和Resize事件,以便您可以將子窗體保留在正確的位置。
因此,與樣板Form 1和Form名稱的示例程序和Form1上的按鈕來顯示孩子看起來是這樣的:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.button1.Click += button1_Click;
this.Resize += this.Form1_Resize;
this.LocationChanged += this.Form1_LocationChanged;
}
Form child;
private void button1_Click(object sender, EventArgs e) {
if (child != null) return;
child = new Form2();
child.FormClosed += child_FormClosed;
child.Load += child_Load;
child.Show(this);
}
void child_FormClosed(object sender, FormClosedEventArgs e) {
child.FormClosed -= child_FormClosed;
child.Load -= child_Load;
child = null;
}
void child_Load(object sender, EventArgs e) {
moveChild();
}
void moveChild() {
child.Location = this.PointToScreen(new Point(this.ClientSize.Width - child.Width, 0));
}
private void Form1_Resize(object sender, EventArgs e) {
if (child != null) moveChild();
}
private void Form1_LocationChanged(object sender, EventArgs e) {
if (child != null) moveChild();
}
}